centos6
默认情况下,Docker守护进程Unix socket(/var/run/docker.sock)来进行本地进程通信,而不会监听任何端口,因此只能在本地使用docker客户端或者使用Docker API进行操作。如果想在其他主机上操作Docker主机,就需要让Docker守护进程打开一个HTTP Socket,这样才能实现远程通信。
编辑docker的配置文件/etc/sysconfig/docker修改DOCKER_OPTS成
#同时监听本地unix socket和远程http socket(2375)
DOCKER_OPTS="-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375"
然后重新启动docker守护进程。
sudo service docker restart
至此如果服务器启用了防火墙,只要把2375端口开放既可以在其他主机访问本docker实例了。
例如:
DOCKER_HOST=$host:2375 docker ps
此时发现docker守护进程已经在监听2375端口,在另一台主机上可以通过该端口访问Docker进程了。
# docker -H IP:2375 images
本地操作docker。
# docker images
centos7
Docker-build-step插件安装部署
1.打开系统管理,插件管理,找到Docker build step插件,勾选选中,点击直接安装,安装完成后重启一下Jenkins容器;
2.使用终端登录到B服务器,修改/usr/lib/systemd/system/docker.service 为:
ExecStart=/usr/bin/dockerd-current -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock \ 参考下图:

注意:4243为端口号,只要不跟系统冲突,任意端口都行。修改完后执行以下两条命令使配置生效:systemctl daemon-reload和service docker restart ,防火墙一定要记得开放4243端口。
3.打开Jenkins Web系统界面,找到系统管理,系统设置,找到Docker Builer配置项,填入B服务器的IP地址和端口号,如图所示,点击测试连接,测试连接成功后,我们就可以利用Docker build step插件自动化管理Docker了。
