- docker-maven-plugin(com.spotify)打镜像及上传harbor仓库,
- 配置启动时指定nacos地址,动态激活profiles
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!--安装有docker的服务器及端口,用于打镜像和上传至harbor-->
<dockerHost>http://服务器IP:2375 </dockerHost>
<!--生产的镜像名称和版本,其中已包含了harbor仓库地址及仓库名称还有版本号-->
<imageName>仓库的地址:仓库的端口/仓库名/你的镜像名称:v0.0.1</imageName>
<!--直接使用configuration定义镜像-->
<baseImage>仓库的地址:仓库的端口/仓库名/基础镜像:v0.0.1</baseImage>
<maintainer>你的邮箱</maintainer>
<workdir>/opt</workdir>
<cmd>["java", "-version"]</cmd>
<!--动态激活profiles并指定nacos地址,方便配置-->
<entryPoint>["java", "-jar", "${project.build.finalName}.jar", "--spring.profiles.active=test", "--spring.cloud.nacos.discovery.server-addr=nacos地址:8848" ]</entryPoint>
<forceTags>true</forceTags>
<!-- 与maven setting.xml文件中的server名称要对应上-->
<serverId>harbor-registry</serverId>
<!--指定dockerfile定义镜像-->
<!-- <dockerDirectory>${project.basedir}</dockerDirectory>-->
<!--jar名称配置,用在dockerfile中,需要自己写的可不用此配置-->
<buildArgs>
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
<!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
<resources>
<resource>
<!-- 与上面的<workdir>一致-->
<targetPath>/opt</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
