使用Maven构建Docker镜像插件:
pom.xml 文件,添加插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<repository>test/projectName</repository>
<tag>${project.version}</tag>
<buildArgs>
<!--此处是SpringBoot生成jar包的位置,使用变量JAR_FILE标识,可在Dockerfile中引用-->
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
根目录下,新建Dockerfile:
FROM openjdk:8
LABEL maintainer="LiaoDaShuai"
WORKDIR /
ARG JAR_FILE
ADD ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"]
使用构建命令:
mvn install dockerfile:build -Dmaven.test.skip=true
比较简单,上面的<JAR_FILE>标签是环境变量,可以在Dockerfile中引用到,当版本更改时,就不必手动去Dockerfile里改了,其他参数就不解释过多了。
待构建命令执行完了,即可使用docker images 查看到构建成功的镜像。
使用命令启动该镜像测试。
docker run -p 8080:8080 -d test/projectName:1.0.0
使用宿主机的8080端口,访问测试。
版权声明:本文为qq_39211866原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。