在自托管的 Windows azure devops 代理上运行 docker 容器的权限

时间:2021-02-17 11:25:11

标签: windows docker azure-devops

在自托管 Windows 代理上运行的 azure devops 构建管道中,我试图执行一个运行 docker 容器的工具。 不幸的是,我收到此错误:

Failed to start: failed to create container: Error response from daemon: CreateFile c:\Users\BUILDAGENT\.aerokube\selenoid: Access is denied.

构建代理配置了自己的windows本地用户“BUILDAGENT”,所以他对C:\Users\BUILDAGENT\文件夹有权限

查看进程管理器,我看到除了 com.docker.service 之外,其他 docker 进程正在与启动 Docker 桌面的用户(我的同事)一起运行。 如果我重新启动 Windows 并自己重新启动 docker,则不会恢复我同事选择的设置(例如“磁盘映像位置”)...

有没有办法让 docker 在启动时作为守护进程与特定用户(服务或系统用户,但不是我的或我的同事)一起运行? 完成此操作后,我想我只需要在 C:\Users\BUILDAGENT\ 文件夹上为该特定用户授予权限即可解决我的问题,对吗?

更新:

我在 docker-users 组中添加了我的 BUILDAGENT 用户,它解决了权限问题,但我仍然希望将 docker 作为服务运行,而不是作为我的本地用户登录以使用其 GUI 启动它...< /p>

1 个答案:

答案 0 :(得分:1)

<块引用>

但我仍然希望将 docker 作为服务运行,而不是以本地用户身份登录以使用其 GUI 启动它

您可以尝试创建一个任务调度程序,以便在您的 PC 启动时与该特定用户一起运行 docker。

有关更多详细信息,请查看此主题 How to create an automated task using Task Scheduler on Windows 10

在这种情况下,每次启动计算机时 docker 都会自动启动。