我已经将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通常会监听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
非常感谢,我忘记了在默认的UNIX socket /var/run/docker.sock
上添加监听。现在,我可以使用Jenkins及其Docker插件。