鉴于在网上没有搜到一个完整实例,自己摸索后,记录如下:
1、docker push命令的用法,一般会先去docker tag 命令将你要push到的registry加到tag中,这样后续直接docker push image。
前置条件:docker客户端先登录registry(或含有该registry的认证),如先执行docker login,或者直接去改认证文件,不是本篇重点,不再话下。
docker image tag rhel-httpd:latest registry-host:5000/myadmin/rhel-httpd:latest
docker image push registry-host:5000/myadmin/rhel-httpd:latest
具体见:https://docs.docker.com/engine/reference/commandline/push/
2、插件io.fabric8 docker maven plugin 的用法:
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.33.0</version>
<configuration>
<images>
<image>
<!-- 指定image的名字(包含registry地址)-->
<name>registry的地址/项目:${TAG}</name>
<alias>master</alias>
<build>
<!-- 指定dockerfile文件的位置-->
<dockerFile>dir/Dockerfile</dockerFile>
<buildOptions>
<network>host</network>
</buildOptions>
</build>
</image>
<!-- 生成多个image同理-->
<image>
...
</image>
</images>
<authConfig>
<username>认证的用户名</username>
<password>认证的密码</password>
</authConfig>
</configuration>
<executions>
<execution>
<id>docker-exec</id>
<!-- 绑定mvn install阶段,当执行mvn install时 就会执行docker build 和docker push-->
<phase>install</phase>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
</plugin>