You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Docker daemon监听TCP端口后本地Docker命令连接失败求助

解决Docker Daemon修改监听后本地命令无法连接的问题

我明白你现在的困扰——刚接触Docker和Jenkins就碰到配置问题确实头疼,咱们一步步来搞定它:

问题根源

默认情况下,Docker Daemon会同时监听Unix套接字(unix:///var/run/docker.sock,供本地docker命令行工具通信)和可选的TCP端口。你修改docker.service时,只保留了-H tcp://0.0.0.0:2375参数,覆盖了默认的Unix套接字监听配置,导致本地docker命令找不到默认的通信路径,才会抛出那个连接错误。

修复步骤

  1. 修正Docker服务配置文件
    编辑/lib/systemd/system/docker.service,将ExecStart行修改为同时包含Unix套接字和TCP端口的配置:

    ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
    

    这样Daemon会同时处理本地命令行的请求和Jenkins插件的TCP连接。

  2. 重新加载配置并重启Docker
    执行以下命令让systemd识别新配置,然后重启Docker服务:

    systemctl daemon-reload
    systemctl restart docker.service
    
  3. 验证修复效果

    • 执行docker ps,此时应该能正常返回容器列表,不再报错
    • 再次运行netstat -lntp | grep dockerd,可以看到TCP 2375端口的监听;如果用ss -xl | grep docker,还能看到Unix套接字的监听状态

额外安全提示

开放无认证的TCP 2375端口存在很大安全风险(任何能访问该端口的主机都能完全控制你的Docker环境)。如果是测试环境可以暂时使用,后续建议改用更安全的方式:比如将本地的/var/run/docker.sock挂载到Jenkins容器中,这样Jenkins可以直接通过套接字访问Docker Daemon,无需开放TCP端口。

内容的提问来源于stack exchange,提问作者Kuabel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:06:56