在需要运行的maven模块根目录下创建Dockerfile文件
FROM openjdk:8-jdk-alpine
MAINTAINER xiaodx
RUN addgroup -S spring && adduser -S spring -G spring
USER spring:spring
VOLUME /logs
ARG JAR_FILE=target/cxs-yunying.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java" ,"-jar" ,"/app.jar" ]
在需要运行的maven模块的pom.xml中增加以下两个maven插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker的maven插件,官网:https://github.com/spotify/docker‐maven‐plugin -->
<!-- Dockerfile maven plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.10</version>
<executions>
<execution>
<id>default</id>
<goals>
<!--如果package时不想用docker打包,就注释掉这个goal-->
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- harbor 仓库用户名及密码-->
<username>xiaodx</username>
<password>Dc123456</password>
<repository>${docker.registry} /${docker.image.prefix} /${project.artifactId} </repository>
<tag>${project.version} </tag>
<buildArgs>
<JAR_FILE>target/${project.build.finalName} .jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
执行maven命令,自动生成镜像并上传至本地docker主机上(docker images 查看)
mvn install -Dmaven.test.skip=true
镜像上传到harbor中:在maven插件中运行下图插件,即可将此镜像上传到harbor