我已经安装了 Azure 自托管代理 (Linux),并按照 https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/docker?view=azure-devops 中的文档进行操作。 .
我已经成功安装了代理,但是当我运行编译和构建 docker 镜像的 Docker 构建任务时,我收到错误无法连接到位于 unix:///var/run/docker 的 Docker 守护进程。短袜。 docker 守护进程是否正在运行?
在谷歌搜索问题后,下面的代码似乎应该挂载 docker.sock 并且我应该能够成功构建和推送 docker 镜像,但这在 AKS 上不起作用
volumeMounts:
- mountPath: /var/run/docker.sock
name: docker-volume
volumes:
- name: docker-volume
hostPath:
path: /var/run/docker.sock
有人遇到过这样的问题吗?我正在使用 AzureDevops Docker@2
任务进行构建,代理在 AKS 1.19.11
最佳答案
自 AKS 1.19 起,它使用 containerd 作为容器运行时 - 这意味着您无法再直接在 AKS 内构建 docker 镜像。请参阅this文章了解详细信息和可能的解决方法。
总的来说,我发现VMSS-based self-hosted Agents对于 Azure DevOps 而言,这是基于容器的代理的绝佳替代方案。
关于使用 docker 的 Azure DevOps 自托管代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69254636/