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

Jenkins Multi-configuration项目运行报错问题咨询

问题描述

运行Jenkins Multi-configuration(多配置)项目时返回报错,相关报错截图如下:
报错截图1
报错截图2

已修改云配置项,设置的Docker Host URI为tcp://172.17.0.2:2375。
当前Jenkins容器内的/etc/hosts文件配置内容如下:

127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2  1b0ab63069bd
异常原因

报错本质是Jenkins服务无法通过配置的地址连通Docker daemon,具体触发原因按出现概率排序:

  • 配置的Docker Host URI地址填写错误:从hosts配置可以看到172.17.0.2是当前Jenkins容器自身的内部IP,不是宿主机Docker服务的监听地址,访问这个地址的2375端口等于请求Jenkins容器自身,自然无法找到Docker服务
  • 宿主机Docker默认只监听本地unix socket套接字,没有开启2375 TCP端口的远程访问能力
  • 宿主机防火墙规则拦截了Docker网桥网段对2375端口的访问请求
修复步骤
  1. 修正Docker Host URI配置
    宿主机在docker0网桥上的默认网关IP为172.17.0.1,将Jenkins云配置中的Docker Host URI从tcp://172.17.0.2:2375修改为tcp://172.17.0.1:2375。如果是Docker Desktop环境运行的Jenkins容器,直接将URI填为tcp://host.docker.internal:2375即可。
  2. 确认宿主机Docker开启TCP端口监听
    登录运行Docker的宿主机,编辑Docker配置文件/etc/docker/daemon.json,添加如下配置项:
    {
      "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
    }
    
    保存后执行systemctl daemon-reload && systemctl restart docker重启Docker服务,执行ss -tulnp | grep 2375确认端口已经处于全局监听状态。
  3. 连通性验证
    进入Jenkins容器内部执行curl http://已配置的DockerURI地址/version,如果能正常返回Docker版本、API版本等JSON信息,说明网络连通正常,重新触发多配置项目构建即可。
  4. (推荐)高安全等级配置方案
    开启无认证的2375 TCP端口会导致任何人都能控制宿主机Docker服务,风险极高。优先使用unix套接字挂载方式连通:启动Jenkins容器时添加挂载参数-v /var/run/docker.sock:/var/run/docker.sock,后续Jenkins云配置中的Docker Host URI直接填写unix:///var/run/docker.sock即可,无需暴露额外端口就能正常和宿主机Docker服务通信。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 21:48:09