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了。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐