Maven配置Docker插件推送至远程私有仓库

1.在maven的 setting.xml 文件里面配置远程仓库的用户名、密码信息

servers 标签下添加一个 server 节点

xml 复制代码
<server>
	<!-- 这个id要和下面pom.xml里面的serverId一致-->	
	<id>docker-aliyun</id>
	<username>用户名</username>
	<password>密码</password>
</server>

2.在项目的module里面添加docker插件配置

xml 复制代码
<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镜像