Docker是一种容器管理服务,可以简化构建和部署.如果您是Docker的初学者,您可以通过此链接了解详细信息. https://www.it1352.comhttps://www.tutorialspoint.com/docker/index.htm
在本章中,我们将看到如何使用Maven和Gradle依赖项为Spring Boot应用程序创建Docker镜像.
创建Dockerfile
首先,在目录 src/main/docker 下创建一个名为 Dockerfile 的文件,其内容如下所示.请注意,此文件对于创建Docker镜像非常重要.
FROM java:8VOLUME /tmpADD dockerapp-0.0.1-SNAPSHOT.jar app.jarRUN bash -c 'touch /app.jar'ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
Maven
对于Maven,添加Docker Maven插件到你的构建配置文件中 pom.xml
spring-boot-it1352 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.it1352 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-it1352 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 package docker:build
注意 : 在没有TLS的情况下在 tcp://localhost:2375 上启用Expose守护程序.
在构建成功后,您可以在控制台上看到输出,如下所示 :
现在,请参阅Docker图像命令使用docker镜像并在控制台上查看图像信息.
Gradle
要使用Gradle构建配置构建Docker镜像,我们需要添加 docker 插件并需要编写任务 buildDocker 创建一个Docker镜像.
下面给出了Gradle Docker配置的代码.
buildscript { ..... dependencies { ..... classpath('se.transmode.gradle:gradle-docker:1.2') }}group = 'spring-boot-it1352'.....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-it1352'apply plugin: 'java'apply plugin: 'eclipse'apply plugin: 'org.springframework.boot'apply plugin: 'docker'group = 'com.it1352'version = '0.0.1-SNAPSHOT'sourceCompatibility = 1.8repositories { 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
执行命令后,您可以在控制台窗口中看到BUILD SUCCESSFUL日志.
现在,请查看Docker图像.命令使用 docker images 并在控制台上查看图像信息.