在dockerd参数中设置-H tcp://X.X.X.X:2375后,无法连接到Docker守护程序

时间:2019-04-29 15:39:34

标签: docker jenkins

我已经将Jenkins作为Docker容器启动,并且在Jenkins仪表板中,我正在配置Docker插件以与Docker守护程序进行通信。但是,当我在Docker守护进程中添加“ -H tcp://0.0.0.0:2375”并重新启动Docker时,执行任何docker命令都会导致消息:“无法在unix:/// var连接到Docker守护进程/run/docker.sock。docker守护进程正在运行吗?“

这是我第一次与Docker和Jenkins一起工作,我花了很多时间在各处寻找解决方案。

我通过替换以下行修改了/lib/systemd/system/docker.service:

ExecStart=/usr/bin/dockerd

使用

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375

然后我重新启动Docker守护程序:

systemctl daemon-reload
systemctl reload docker
systemctl restart docker.service

我检查进程是否正在2375端口监听

netstat -lntp | grep dockerd
tcp6       0      0 :::2375                 :::*                    LISTEN      10855/dockerd

当我尝试任何docker命令时,我得到以下信息:

docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

2 个答案:

答案 0 :(得分:0)

Docker通常在unix套接字file_name=name.replace(" ", "_") 上侦听。您已要求它改为监听tcp套接字/var/run/docker.sock,因此客户端尝试连接到默认的unix套接字将失败。

如果您想让它同时收听 个地方,那么您需要:

tcp://0.0.0.0:2375

答案 1 :(得分:0)

非常感谢,我忘记了还要在默认的UNIX套接字/var/run/docker.sock上添加侦听功能。现在,我可以使用Jenkins及其Docker插件。