0

试图将 gitlab 中的项目转换为 docker 映像。gitlab 是自托管的。这是我得到的错误:

Running with gitlab-runner 13.12.0 (7a6612da)
on test -KnwQXuT
Preparing the "docker" executor
ERROR: Failed to remove network for build
ERROR: Preparation failed: Got permission denied while trying to connect to the Docker daemon 
socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.25/info: dial 
unix /var/run/docker.sock: connect: permission denied (docker.go:858:0s)

我添加了一个跑步者,注册了它,用我没有修改的 docker 模板创建了一个 gitlab-ci.yml。作为我在添加跑步者之前和之后尝试过的解决方案chmod 666 /var/run/docker.sock,但它不起作用。我还在运行和注册 docker runner 之前添加了 sudo ,但仍然没有成功。我找到了将我的 docker 用户添加到 docker 组的另一个选项,但我的所有用户都在 docker 组中。docker runner 作为 docker 镜像运行。我不知道该怎么办......请帮忙。我正在尝试大约 10 天但没有成功...提前谢谢

4

2 回答 2

2
  1. 如果不存在,则创建 docker 组:sudo groupadd docker
  2. 将用户添加到 docker 组:sudo usermod -aG docker ${USER}
  3. 将 docker.sock 更改为新权限:sudo chmod 666 /var/run/docker.sock
  4. 最后重启 docker daemon 服务:sudo systemctl restart docker
于 2021-06-22T12:12:54.233 回答
0

当您使用 gitlab 自托管运行器时,默认情况下,它会创建一个名为gitlab-runner的用户。您需要为其分配权限。

sudo usermod -aG docker gitlab-runner

这将为 gitlab-runner 分配正确的权限,并应在该 VM 上拉取 docker 映像。

于 2022-01-26T07:38:06.783 回答