我已经将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?
答案 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插件。