Ubuntu下Jenkins(docker)配置Docker

背景:

  在做用Jenkins构建docker的操作,需要用Jenkins调用docker命令,需要先安装docker-build-step插件,然后开启docker远程访问。

默认情况下,Docker守护进程会生成一个socket(/var/run/docker.sock)文件来进行本地进程通信,而不会监听任何端口,因此只能在本地使用docker客户端或者使用Docker API进行操作。
如果想在其他主机上操作Docker主机,就需要让Docker守护进程监听一个端口,这样才能实现远程通信。

方法

  永久开启远程访问和本地访问(亲测有效)

进入/etc/systemd/system/目录
$ cd /etc/systemd/system/


查找docker.service文件
# 在/etc/systemd/system目录下查找docker.service文件
$ find /etc/systemd/system -name docker.service

 

docker.service文件路径:

Ubuntu :  /etc/systemd/system/multi-user.target.wants/docker.service

centos :  /usr/lib/systemd/system/docker.service


打开docker.service文件
vim docker.service

Ubuntu下Jenkins(docker)配置Docker

注释掉:ExecStart=/usr/bin/dockerd -H fd://

添加:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

保存Docker.service文件

刷新配置
$ sudo systemctl daemon-reload
重新启动Docker守护进程
$ sudo systemctl restart docker


确认是否重启成功
$ sudo ps -ef | grep docker
or

$ sudo ps -A|grep docker

测试Docker远程通讯是否成功开启
Docker客户端校验
浏览器访问:http://Docker服务器IP:2375/info

Docker服务器校验远程访问
docker -H tcp://localhost:2375 images

docker -H tcp://127.0.0.1:2375 images

docker -H tcp://Docker服务器IP:2375 images
Docker服务器校验本地访问
docker info

最后在Jenkins的系统设置中添加  tcp://docker主机地址:2375 ,Test Connection一下,成功连接
Ubuntu下Jenkins(docker)配置Docker

 

上一篇:NGINX配置获取CloudFlare 下的访客真实IP并记录到日志


下一篇:Ubuntu远程root用户登录