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

问题描述 投票:0回答:2

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

这是我第一次使用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?
docker jenkins
2个回答
0
投票

Docker通常会监听unix socket /var/run/docker.sock。您已经要求它在tcp套接字tcp://0.0.0.0:2375上进行侦听,因此客户端尝试连接到默认的unix套接字将失败。

如果你想让它听两个地方,你需要:

dockerd -H tcp://0.0.0.0:2735 -H unix:///var/run/docker.sock

0
投票

非常感谢,我忘记了在默认的UNIX socket /var/run/docker.sock上添加监听。现在,我可以使用Jenkins及其Docker插件。

© www.soinside.com 2019 - 2024. All rights reserved.