स्प्रिंग बूट - डॉकर छवि बनाना
डॉकर एक कंटेनर प्रबंधन सेवा है जो भवन और तैनाती को आसान बनाती है। यदि आप डॉकर के लिए शुरुआती हैं, तो आप इस लिंक पर विस्तार से जान सकते हैं -https://www.tutorialspoint.com/docker/index.htm
इस अध्याय में, हम यह देखने जा रहे हैं कि अपने स्प्रिंग बूट एप्लिकेशन के लिए मावेन और ग्रैडल निर्भरता का उपयोग करके डॉकटर छवि कैसे बनाएं।
Dockerfile बनाएं
सबसे पहले, नाम के साथ एक फ़ाइल बनाएं Dockerfile निर्देशिका के तहत src/main/dockerनीचे दी गई सामग्री के साथ। ध्यान दें कि यह फ़ाइल एक डॉकटर छवि बनाने के लिए महत्वपूर्ण है।
FROM java:8
VOLUME /tmp
ADD dockerapp-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] 
    Maven
मावेन के लिए, अपनी बिल्ड कॉन्फ़िगरेशन फ़ाइल में डॉकर मावेन प्लगइन जोड़ें pom.xml
<properties>
   <docker.image.prefix>spring-boot-tutorialspoint</docker.image.prefix>
</properties>
<build>
   <plugins>
      <plugin>
         <groupId>com.spotify</groupId>
         <artifactId>docker-maven-plugin</artifactId>
         <version>1.0.0</version>
         
         <configuration>
            <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
            <dockerDirectory>src/main/docker</dockerDirectory>
            <resources>
               <resource>
                  <directory>${project.build.directory}</directory>
                  <include>${project.build.finalName}.jar</include>
               </resource>
            </resources>
         </configuration>
      </plugin>
      
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
   </plugins>
   
</build> 
    पूरा pom.xml फ़ाइल नीचे दिया गया है -
<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.tutorialspoint</groupId>
   <artifactId>dockerapp</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <packaging>jar</packaging>
   <name>dockerapp</name>
   <description>Demo project for Spring Boot</description>
   <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.5.9.RELEASE</version>
      <relativePath /> <!-- lookup parent from repository -->
   </parent>
   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <java.version>1.8</java.version>
      <docker.image.prefix>spring-boot-tutorialspoint</docker.image.prefix>
   </properties>
   <dependencies>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
      </dependency>
   </dependencies>
   <build>
      <plugins>
         <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>1.0.0</version>
            
            <configuration>
               <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
               <dockerDirectory>src/main/docker</dockerDirectory>
               <resources>
                  <resource>
                     <directory>${project.build.directory}</directory>
                     <include>${project.build.finalName}.jar</include>
                  </resource>
               </resources>
            </configuration>
         </plugin>
         
         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
      </plugins>
   </build>
   
</project> 
    अब, आप मावेन कमांड का उपयोग करके अपना एप्लिकेशन चला सकते हैं mvn package docker:build
                Note - एक्सपोज़ डेमॉन को ऑन करें tcp://localhost:2375 टीएलएस के बिना।
निर्माण सफलता के बाद, आप नीचे दिखाए अनुसार कंसोल पर आउटपुट देख सकते हैं -
                अब, डॉकर छवियों को डॉक छवियों का उपयोग करके कमांड द्वारा देखें और कंसोल पर छवि जानकारी देखें।
                Gradle
ग्रैड बिल्ड कॉन्फ़िगरेशन का उपयोग करके डॉकर छवि बनाने के लिए, हमें जोड़ने की आवश्यकता है docker प्लगइन और एक कार्य लिखने की जरूरत है buildDocker एक डॉकर छवि बनाने के लिए।
ग्रेडल डॉकर कॉन्फ़िगरेशन के लिए कोड नीचे दिया गया है।
buildscript {
   .....
   dependencies {
      .....
      classpath('se.transmode.gradle:gradle-docker:1.2')
   }
}
group = 'spring-boot-tutorialspoint'
.....
apply plugin: 'docker'
task buildDocker(type: Docker, dependsOn: build) {
   applicationName = jar.baseName
   dockerfile = file('src/main/docker/Dockerfile')
   doFirst {
      copy {
         from jar
         into stageDir
      }
   }
} 
    पूर्ण build.gradle फ़ाइल नीचे दी गई है।
buildscript {
   ext {
      springBootVersion = '1.5.9.RELEASE'
   }
   repositories {
      mavenCentral()
   }
   dependencies {
      classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
      classpath('se.transmode.gradle:gradle-docker:1.2')
   }
}
group = 'spring-boot-tutorialspoint'
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'docker'
group = 'com.tutorialspoint'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
   mavenCentral()
}
dependencies {
   compile('org.springframework.boot:spring-boot-starter-web')
   testCompile('org.springframework.boot:spring-boot-starter-test')
}
task buildDocker(type: Docker, dependsOn: build) {
   applicationName = jar.baseName
   dockerfile = file('src/main/docker/Dockerfile')
   doFirst {
      copy {
         from jar
         into stageDir
      }
   }
} 
    अब, नीचे दिखाए गए कमांड का उपयोग करके एक डोकर छवि बनाएं -
gradle build buildDocker 
    
                
                कमांड निष्पादित करने के बाद, आप कंसोल विंडो पर BUILD SUCCESSFUL लॉग देख सकते हैं।
                अब, कमांड का उपयोग करके डॉकर छवियों को देखें docker images और कंसोल पर छवि की जानकारी देखें।