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

Azure构建代理中如何开放Docker 2375端口?

解决Azure Build Pipeline中fabric8 Docker Maven插件连接失败问题

Azure托管构建代理中的Docker默认不会开放2375 TCP端口,而是通过Unix socket(Linux代理)或命名管道(Windows代理)进行通信,直接连接localhost:2375自然会出现拒绝连接的错误。以下是几种可行的解决方式:

方案1:配置插件使用Docker Socket(推荐,安全且适配性强)

修改项目pom.xml中的fabric8 Docker插件配置,指定Docker主机为socket路径,无需开放2375端口:

<plugin>
  <groupId>io.fabric8</groupId>
  <artifactId>docker-maven-plugin</artifactId>
  <version>0.43.4</version>
  <configuration>
    <!-- Linux代理下的Docker Socket路径 -->
    <dockerHost>unix:///var/run/docker.sock</dockerHost>
    <!-- 保留你原有的其他配置,如镜像、构建参数等 -->
  </configuration>
</plugin>

方案2:强制开启2375 TCP端口(不推荐,存在安全风险)

如果业务必须依赖2375端口,可以在Linux托管代理中修改Docker daemon配置并重启服务:

  1. 在Azure Pipeline的YAML文件中添加初始化步骤:
steps:
  - script: |
      sudo mkdir -p /etc/docker
      echo '{ "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"] }' | sudo tee /etc/docker/daemon.json
      sudo systemctl restart docker
    displayName: 'Configure Docker to listen on TCP port 2375'
  1. 构建时通过环境变量指定Docker主机,无需修改pom.xml:
steps:
  - script: mvn clean package docker:build
    env:
      DOCKER_HOST: tcp://localhost:2375

方案3:Windows托管代理适配(若项目依赖Windows环境)

Windows托管代理中的Docker Desktop可以通过配置开启2375端口,添加PowerShell初始化步骤即可:

steps:
  - powershell: |
      Start-Process -FilePath "C:\Program Files\Docker\Docker\Docker Desktop.exe" -Wait
      Set-Content -Path 'C:\ProgramData\Docker\config\daemon.json' -Value '{ "hosts": ["npipe:////./pipe/docker_engine", "tcp://0.0.0.0:2375"] }'
      Restart-Service Docker
    displayName: 'Enable Docker TCP port 2375 on Windows agent'

之后同样可以通过DOCKER_HOST=tcp://localhost:2375环境变量让插件识别端口。

注意事项

  • 优先选择方案1,2375端口无认证机制,开放后会带来安全隐患;
  • 确保使用的托管代理镜像自带Docker,如ubuntu-latest、windows-latest均默认包含Docker环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 20:37:38