1.在maven的setting.xml文件
里面配置远程仓库的用户名、密码信息
在 servers 标签下添加一个 server 节点
<server> <!-- 这个id要和下面pom.xml里面的serverid一致--> <id>docker-aliyun</id> <username>用户名</username> <password>密码</password> </server>
2.在项目的module里面添加docker插件配置
<build>
<plugins>
<!-- springboot打包插件 -->
<plugin>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-maven-plugin</artifactid>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- docker插件 -->
<plugin>
<groupid>com.spotify</groupid>
<artifactid>docker-maven-plugin</artifactid>
<version>1.2.2</version>
<configuration>
<!-- ${docker.repostory} :远程仓库地址 -->
<!-- ${docker.registry.name} :远程仓库命名空间,没有可不指定 -->
<!-- ${project.artifactid} :镜像名称 -->
<!-- ${project.version} :版本号,和镜像名称中间必须有个英文冒号 -->
<imagename>${docker.repostory}/${docker.registry.name}/${project.artifactid}:${project.version}
</imagename>
<!--指定dockerfile路径-->
<dockerdirectory>${project.basedir}/src/main/docker</dockerdirectory>
<!-- <dockerhost>localhost:2375</dockerhost> -->
<!-- dockerhost也可以在环境变量里面配置 docker_host(详见第三步配置) 指向docker的地址 -->
<resources>
<resource>
<targetpath>/</targetpath>
<!--${project.basedir}/target-->
<directory>${project.build.directory}</directory>
<!--${project.artifactid}-${project.version}-->
<include>${project.build.finalname}.jar</include>
</resource>
</resources>
<!-- 推送至阿里云镜像仓库 -->
<!-- 这里的serverid要和maven的setting.xml文件里面的server标签下的id标签一致-->
<serverid>docker-aliyun</serverid>
<registryurl>${docker.repostory}</registryurl>
<pushimage>true</pushimage>
</configuration>
</plugin>
</plugins>
</build>3.环境变量配置docker_host
变量值改成docker安装的实际地址

4.在每个模块下
执行mvn clean install docker:build -p prod -dskiptests命令打docker镜像
5.总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论