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

Azure DevOps Server 2022本地环境下Windows 10构建代理的Docker Desktop无人登录时自动停止问题求助

Azure DevOps Server 2022本地环境下Windows 10构建代理的Docker Desktop无人登录时自动停止问题求助

我目前在本地环境的Azure DevOps Server 2022中,用Windows 10机器做构建代理,已经装了Docker Desktop来跑流水线里的Docker相关任务。但碰到个棘手的问题:只要这台Windows 10机器没人登录,Docker Desktop就会自动停掉,导致流水线里的Docker任务全失败——因为构建机上的Docker引擎根本没在运行。只有我登录机器手动启动Docker Desktop后,流水线才能正常跑起来。

有没有过来人给支个招?怎么才能让Windows 10构建机上的Docker引擎一直运行,哪怕没有用户登录也能正常工作?我就想实现不用用户登录,Docker引擎也能始终处于运行状态。


亲测有效的解决方法分享

  • 把Docker Desktop配置成系统级自动启动任务
    Docker Desktop默认是用户态程序,只有登录后才会启动。我们可以通过创建系统任务让它在开机时自动运行,不需要用户登录:

    1. 先打开Docker Desktop设置,在General里勾选"Start Docker Desktop when you log in"(这一步是基础配置)
    2. 以管理员身份打开命令提示符,执行这条命令创建自动启动任务:
      schtasks /create /tn "DockerAutoStart" /tr "C:\Program Files\Docker\Docker\Docker Desktop.exe" /sc onstart /ru "SYSTEM" /rl highest
      
      这个任务会让系统启动时就以SYSTEM账户身份启动Docker Desktop,完全不受用户登录状态影响。
  • 切换到Windows容器模式并把Docker引擎注册为服务
    如果你的场景适合用Windows容器,可以直接把Docker引擎注册成Windows服务,这样就能彻底脱离用户会话:

    1. 先在Docker Desktop里切换到Windows容器模式
    2. 以管理员身份打开PowerShell,执行这条命令注册服务:
      dockerd --register-service
      
      注册完成后,打开Windows服务管理器,找到Docker Engine服务,把它的启动类型改成自动。这样系统一启动,Docker引擎就会自动运行,和用户登不登录完全没关系。
  • 临时过渡:设置Windows自动登录(不推荐长期用)
    如果上面的方法暂时没生效,可以先设置Windows自动登录某个用户,这样机器启动后会自动登录,Docker Desktop也会跟着启动。不过这个方法有安全风险,适合临时救急:

    1. 按Win+R输入netplwiz打开用户账户设置
    2. 取消勾选"要使用本计算机,用户必须输入用户名和密码"
    3. 输入要自动登录的账号密码,确认后重启机器就行。

备注:内容来源于stack exchange,提问作者Herr_grun

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 12:09:35