如何解决准备失败:尝试连接到 unix:///var/run/docker.sock 上的 Docker 守护进程套接字时权限被拒绝
尝试将 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 天但没有成功...提前致谢
解决方法
- 如果不存在则创建 docker 组:
sudo groupadd docker
- 将用户添加到 docker 组:
sudo usermod -aG docker ${USER}
- 将 docker.sock 更改为新权限:
sudo chmod 666 /var/run/docker.sock
- 最后重启 docker daemon 服务:
sudo systemctl restart docker
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。