📅  最后修改于: 2020-11-11 05:47:24             🧑  作者: Mango
Docker是一种容器管理服务,可简化构建和部署。如果你是一个初学者到码头工人,你可以了解在细节在这个环节- https://www.tutorialspoint.com/docker/index.htm
在本章中,我们将看到如何为Spring Boot应用程序使用Maven和Gradle依赖项来创建Docker映像。
首先,在目录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来运行您的应用程序
注意-在tcp:// localhost:2375上启用没有TLS的Expose守护程序。
构建成功后,您可以在控制台上看到如下所示的输出-
现在,使用docker images通过命令查看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
执行命令后,您可以在控制台窗口中看到BUILD SUCCESSFUL日志。
现在,使用码头工人图像看到该命令的泊坞窗图像和在控制台上看到图像的信息。