1.添加docker依赖
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.13</version>
<executions>
<execution>
<id>default</id>
<goals>
<!--如果package时不想用docker打包,就注释掉这个goal-->
<goal>build</goal>
<!-- <goal>push</goal>-->
</goals>
</execution>
</executions>
<configuration>
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<dockerInfoDirectory>src/main/docker</dockerInfoDirectory>
<dockerConfigFile>src/main/docker</dockerConfigFile>
<dockerfile>src/main/docker/Dockerfile</dockerfile>
<tag>${docker.image.customize.tag}</tag>
<buildArgs>
<!--提供参数向Dockerfile传递-->
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
2.pom文件中<properties属性添加
<docker.image.customize.tag>default</docker.image.customize.tag>
3.创建dockerfile文件
文件内容如下:
FROM amazoncorretto:8
MAINTAINER shiyuhuan yuhuan.shi@kikatech.com
VOLUME /tmp
ARG JAR_FILE
ADD ${JAR_FILE} backend-cms.jar
RUN bash -c 'touch /backend-cms.jar'
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
EXPOSE 10010
ENTRYPOINT ["java", "-Duser.timezone=Asia/Shanghai -Djava.io.tmpdir=/tmp -Xms2g -Xmx2g", "-jar", "backend-cms.jar"]
4.maven的setting.xml文件
在pluginGroups中加入
com.spotify
5.pom文件中添加profile的docker_dev环境
6.执行 mvn clean package -Dskiptests -P docker_dev