Jenkins配置了Docker插件,结果发现不能远程调用远端的docker,原来是tcp端口没有打开。
ubuntu版本号:16.04
root@ubuntu:/etc/docker# cat /proc/version Linux version 4.4.0-62-generic (buildd@lcy01-30) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017
ubuntu docker配置文件在 /etc/default/docker
jenkins docker plugin链接远程docker时,需要docker开启tcp端口,编辑docker配置文件添加配置:
vi /etc/default/docker
添加内容:
DOCKER_OPTS="-H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock"
注意大小写,否则docker可能启动不起来。
重启docker:
service docker restart
发现无效,查看docker进程,并未添加DOCKER_OPTS参数信息:
root@ubuntu:/etc/docker# ps -ef | grep docker root 22829 1 0 14:28 ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
编辑文件:
vi /lib/systemd/system/docker.service
在[service]节点添加如下内容:
EnvironmentFile=/etc/default/docker
然后修改ExecStart为:
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS --containerd=/run/containerd/containerd.sock
然后,执行:
systemctl daemon-reload service docker restart
再查看docker进程,发现配置参数已经生效:
root@ubuntu:/etc/docker# ps -ef | grep docker root 25622 1 1 15:45 ? 00:00:00 /usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2376 --containerd=/run/containerd/containerd.sock