首先你得配置一個帶有認證的docker私有倉庫。docker
本機要安裝maven和jdkmaven
vi pom.xml測試
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <configuration> <imageName>registry.abccase.com:5000/${project.build.finalName}</imageName> <imageTags> <imageTag>${project.version}</imageTag> <imageTag>latest</imageTag> </imageTags> <dockerDirectory>docker</dockerDirectory> <dockerHost>unix:///var/run/docker.sock</dockerHost> <serverId>docker-registry</serverId> <registryUrl>https://registry.abccase.com:5000/v2/</registryUrl> <dockerCertPath>docker</dockerCertPath> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}-swarm.jar</include> </resource> </resources> </configuration> </plugin>
dockerCertPath把訪問docker私有倉庫的證書放在此目錄下。因爲咱們這裏用了宿主機的docker,
<dockerHost>unix:///var/run/docker.sock</dockerHost>
因此能夠不用加<dockerCertPath>docker</dockerCertPath>
<dockerDirectory>docker</dockerDirectory>Dockerfile文件放在此目錄下。
配置ui
[root@test ~]# cat /usr/local/maven3/conf/settings.xml unix
<server> <id>docker-registry</id> <username>sa</username> <password>aks.1reg</password> <configuration> <email>zhou@abccase.com</email> </configuration> </server>
-DpushImage 上傳鏡像server
-DskipTests 跑過測試xml
[root@test em]# mvn clean package docker:build -DpushImage -DskipTests blog
若是pom.xml裏沒有帶版本號,能夠用-DdockerImageTags=0.1.1 -DdockerImageTags=latestip
tag版本號再上傳:-DpushImageTag=0.1.1 -DpushImageTag=latest get