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

Azure Pipelines构建镜像遇Docker权限错误,求解决方案

Azure Pipelines构建Docker镜像权限错误解决方案

针对你遇到的“在Windows的默认守护进程配置中,Docker客户端必须以提升的权限运行才能连接”错误,以下是几个可行的排查和解决步骤:

  • 确保Pipeline代理的Docker服务以管理员身份运行
    登录到Azure Pipelines使用的Windows代理机器,打开“服务”面板,找到Docker Desktop Service,右键选择“属性”,在“登录”选项卡确认账号拥有管理员权限,或直接设置为“本地系统账户”并勾选“允许服务与桌面交互”,之后重启服务。

  • 修正Pipeline中的Docker守护进程切换命令
    之前的命令在PowerShell环境下写法存在问题,替换为以下完整PowerShell脚本执行:

    Set-Location "C:\Program Files\Docker\Docker"
    .\DockerCli.exe -SwitchDaemon
    

    或直接调用完整路径:

    & "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon
    

    执行后可添加docker info命令验证切换结果,确认守护进程已切换到对应容器类型(Windows/Linux)。

  • 给Pipeline任务添加管理员权限
    如果使用Azure Pipelines内置Docker任务,找到任务的“高级”设置,勾选“以管理员身份运行此任务”;如果是PowerShell/bash脚本任务,在任务配置中启用“以管理员身份运行”选项。

  • 将代理运行账号加入docker-users组
    在代理机器上,把Azure Pipelines代理服务的运行账号添加到本地docker-users用户组,无需管理员权限即可连接Docker守护进程。执行以下PowerShell命令:

    # 假设代理使用NETWORK SERVICE账号,请根据实际情况替换
    net localgroup docker-users "NT AUTHORITY\NETWORK SERVICE" /add
    

    执行后重启Docker服务和Azure Pipelines代理服务。

  • 检查Docker守护进程配置
    打开C:\ProgramData\Docker\config\daemon.json文件(不存在则新建),添加以下配置允许非管理员连接:

    {
      "hosts": ["npipe:////./pipe/docker_engine"],
      "group": "docker-users"
    }
    

    保存后重启Docker Desktop服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 08:43:17