将springboot打包成docker镜像
1、在pom.xml中添加插件
<properties>
<docker.image.prefix>swr.cn-north-4.myhuaweicloud.com/xliangliango</docker.image.prefix>
</properties>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.13</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- 对应docker images 中的 repository -->
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<tag>${project.version}</tag>
<buildArgs>
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
2、在pom.xml同级下新建一个Dockerfile(注意文件名是固定的)
FROM java:8
EXPOSE 8080
ARG JAR_FILE
ADD target/${JAR_FILE} /example.jar
ENTRYPOINT ["java", "-jar","/example.jar"]
参数说明:
- FROM:基于java:8镜像构建
- EXPOSE:监听8080端口
- ARG:引用plugin中配置的 JAR_FILE 文件
- ADD:将当前 target 目录下的 jar 放置在根目录下,命名为 example.jar,推荐使用绝对路径。
- ENTRYPOINT:执行命令 java -jar /example.jar
3、构建镜像
mvn clean package dockerfile:build -Dmaven.test.skip=true
4、运行该镜像
docker run -d -p 8088:8088 swr.cn-north-4.myhuaweicloud.com/xliangliango/example:0.0.1-SNAPSHOT
验证:
验证: