当组权限似乎正确时,如何修复“拨号 unix /var/run/docker.sock:连接:权限被拒绝”?

新手上路,请多包涵

更新 Ubuntu 18.04 后我突然遇到问题:以前我在系统上使用 docker 时没有问题,但突然间我不能了。据我所知,权限看起来是正确的:

 $ docker run hello-world
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
$ ls -last /var/run/docker.sock
0 srw-rw---- 1 root docker 0 Jul 14 09:10 /var/run/docker.sock
$ whoami
brandon
$ cat /etc/group | grep docker
docker:x:995:brandon
nvidia-docker:x:994:

编辑:

集团信息:

 $ groups
brandon
$ groups brandon
brandon : brandon adm cdrom sudo dip plugdev games lpadmin sambashare docker
$ whoami
brandon

更新

自从我将系统从 17.04 升级到 18.04 的原始帖子以来,我已经完成了从 16.04 到 18.04 的两次升级,后来的两个系统都没有出现问题。所以这可能与 17.04 到 18.04 的升级过程有关。我还没有执行全新的 18.04 安装。

原文由 bbarker 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 362
1 个回答
sudo setfacl --modify user:<user name or ID>:rw /var/run/docker.sock

它不需要重新启动,并且比 usermod 或 chown 更安全。

正如@mirekphd 指出的那样,当用户 仅存在于容器内而不存在于主机上时,用户ID 是必需的。

原文由 Nahshon paz 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进