使用docker-maven-plugin推送镜像到远程docker服务器

1.在pom.xml中配置

          <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.13</version>
                <configuration>
                    <imageName>leejunming/${project.name}:${project.version}</imageName>
                    <baseImage>java</baseImage>
                    <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                    <!--docker宿主机的ip,要为docker开通tcp访问才有效-->
                    <dockerHost>http://10.211.55.8:2375</dockerHost>
                </configuration>
            </plugin>

2.为docker服务开通tcp访问

创建目录:  

mkdir /etc/systemd/system/docker.service.d

创建tcp配置文件

 vi /etc/systemd/system/docker.service.d/tcp.conf 

添加以下内容,并且:wq保存

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
EOF

然后重启守护进程和docker服务

重启守护进程

systemctl daemon-reload

重启docker服务

service docker restart

查看2375端口是否启动了

lsof -i:2375

这时候可以通过本机电脑的调用下: curl http://10.211.55.8:2375/info

如果能正常访问可以看到下图的内容,则不用进行标题3的操作

使用 maven clean package  docker:build  命令进行推送镜像到docker服务器

看到BUILD SUCCESS 代表成功

查看刚刚用idea推送的镜像

docker images

看到图下,恭喜你以及成功推送docker服务器上面了

如果看到下图,则需要为docker宿主机开通2375端口

3.为防火墙开启2375这个端口

如果你的centos中能正常运行service iptables restart,就不用执行下图安装和启动命令

yum install iptables-services 
systemctl enable iptables 

 

安装成功后,可以看到/etc/sysconfig/iptables 文件了。这时候,可以修改文件,开放要开放的端口了。

vi  /etc/sysconfig/iptables 

-A INPUT -p tcp -m state --state NEW -m tcp --dport 2375 -j ACCEPT  //2375为端口号

重启防火墙,然后再进行标题2中未执行完的操作

service iptables restar

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐