gpt4 book ai didi

azure - 在 Azure 容器实例 (ACI) 中运行 Gitlab Runner

转载 作者:行者123 更新时间:2023-12-02 19:16:50 25 4
gpt4 key购买 nike

我想在 Azure 容器实例 (ACI) 中运行 Gitlab-Runner。

为此,我在 Azure ACI 中运行了 docker 容器 gitlab/gitlab-runner

使用以下命令,我为我的 Gitlab 服务器注册此运行程序。

gitlab-runner register \
--non-interactive \
--run-untagged=true \
--locked=false \
--executor "docker" \
--docker-image docker:latest \
--url "https://gitlab.com/" \
--registration-token "MyTokenYYYYYYYY" \
--description "my-own-runner" \
--tag-list "frontend, runner" \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock

新的 runner 也得到了 gitlab 的认可。但是,当我运行作业时,出现以下错误。

Preparing the "docker" executor
ERROR: Failed to remove network for build
ERROR: Preparation failed: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (docker.go:960:0s)

如果我在笔记本电脑上本地运行具有相同配置的运行程序,则一切正常。如何让它在 Azure ACI 中工作?

注册时如何将 docker sock 挂载到 Azure ACI 中?

非常感谢您的帮助。

最佳答案

您将无法在 Azure ACI 中创建的容器内运行另一个 docker 容器。为了实现“docker-in-docker”(dind),守护进程实例(在本例中为您的 ACI 容器)需要在特权模式下运行,这将允许升级访问您与其他 ACI 用户共享的主机。您可以read about this more on Docker hub它说:

Note: --privileged is required for Docker-in-Docker to functionproperly, but it should be used with care as it provides full accessto the host environment, as explained in the relevant section of theDocker documentation.

对此的常见解决方案是使用由 0 个或更多虚拟机组成的自动缩放组来为 gitlab 运行程序及其生成的容器提供计算资源。

关于azure - 在 Azure 容器实例 (ACI) 中运行 Gitlab Runner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63054835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com