📜  Spring Boot-创建Docker映像

📅  最后修改于: 2020-11-11 05:47:24             🧑  作者: Mango


Docker是一种容器管理服务,可简化构建和部署。如果你是一个初学者到码头工人,你可以了解在细节在这个环节- https://www.tutorialspoint.com/docker/index.htm

在本章中,我们将看到如何为Spring Boot应用程序使用Maven和Gradle依赖项来创建Docker映像。

创建Dockerfile

首先,在目录src / main / docker下创建一个名为Dockerfile的文件,其内容如下所示。请注意,此文件对于创建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,将Docker Maven插件添加到您的构建配置文件pom.xml中


   spring-boot-tutorialspoint



   
      
         com.spotify
         docker-maven-plugin
         1.0.0
         
         
            ${docker.image.prefix}/${project.artifactId}
            src/main/docker
            
               
                  ${project.build.directory}
                  ${project.build.finalName}.jar
               
            
         
      
      
      
         org.springframework.boot
         spring-boot-maven-plugin
      
   
   

完整的pom.xml文件在下面给出-



   
   4.0.0
   com.tutorialspoint
   dockerapp
   0.0.1-SNAPSHOT
   jar
   dockerapp
   Demo project for Spring Boot

   
      org.springframework.boot
      spring-boot-starter-parent
      1.5.9.RELEASE
       
   

   
      UTF-8
      UTF-8
      1.8
      spring-boot-tutorialspoint
   

   
      
         org.springframework.boot
         spring-boot-starter-web
      
      
         org.springframework.boot
         spring-boot-starter-test
         test
      
   

   
      
         
            com.spotify
            docker-maven-plugin
            1.0.0
            
            
               ${docker.image.prefix}/${project.artifactId}
               src/main/docker
               
                  
                     ${project.build.directory}
                     ${project.build.finalName}.jar
                  
               
            
         
         
         
            org.springframework.boot
            spring-boot-maven-plugin
         
      
   
   

现在,您可以使用Maven命令mvn软件包docker:build来运行您的应用程序

MVN软件包Docker构建

注意-在tcp:// localhost:2375上启用没有TLS的Expose守护程序。

构建成功后,您可以在控制台上看到如下所示的输出-

MVN软件包Docker输出

现在,使用docker images通过命令查看Docker映像,并在控制台上查看映像信息。

Docker映像命令

摇篮

要使用摇篮构建配置构建一个码头工人的形象,我们需要添加泊坞窗插件,需要写一个任务buildDocker创建一个码头工人的形象。

Gradle Docker配置的代码如下。

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
      }
   }
}

现在,使用下面显示的命令创建一个Docker镜像:

gradle build buildDocker

Gradle构建Docker

执行命令后,您可以在控制台窗口中看到BUILD SUCCESSFUL日志。

Docker构建成功

现在,使用码头工人图像看到该命令的泊坞窗图像和在控制台上看到图像的信息。

使用DockerImages获取图像信息