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

自托管Windows代理上Azure IoT流水线构建Docker连接报错,求权限配置

解决Azure自托管Windows代理连接Docker daemon权限拒绝问题

问题根源

Azure Pipelines代理以Network Service账户运行,而Docker daemon的核心通信管道\\.\pipe\docker_engine默认未对该账户开放读写权限,导致连接时触发「Access is denied」错误。

解决方案步骤

1. 为Network Service授权Docker命名管道权限

以管理员身份打开命令提示符,执行以下命令:

icacls "\\.\pipe\docker_engine" /grant "NT AUTHORITY\NETWORK SERVICE:(RW)"

执行后可通过以下命令验证权限是否生效:

icacls "\\.\pipe\docker_engine"

确认输出中包含NT AUTHORITY\NETWORK SERVICE:(RW)条目。

2. 重启Azure Pipelines代理服务

  • 按下Win+R输入services.msc打开服务管理器
  • 找到你的Azure Pipelines代理服务(默认命名格式为vstsagent.{主机名}.{代理池名称})
  • 右键选择「重启」,确保权限变更生效

备选方案:将代理服务改为Local System账户运行

如果管道授权无效,可直接将代理服务的运行账户改为与Docker一致的Local System:

  • 打开服务管理器,找到Azure Pipelines代理服务→右键「属性」
  • 切换到「登录」选项卡,选择「本地系统账户」,可选勾选「允许服务与桌面交互」
  • 点击「应用」后重启服务

验证操作

在代理机器上,用Network Service身份测试Docker连接:

  1. 使用PsExec工具执行:
psexec -s -i cmd.exe
  1. 在弹出的新命令提示符中运行:
docker version

若能正常返回Client和Server版本信息,说明权限配置成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 03:20:14