我没有访问 Docker 的权限,并且我需要运行 newgrp docker 的每个新终端实例

6 docker

我按照官方网站的建议安装了Docker。我遇到了有关 .sock 文件权限的问题。

Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b7f0
 Built:             Wed Mar 11 01:25:55 2020
 OS/Arch:           linux/amd64
 Experimental:      false
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.40/version: dial unix /var/run/docker.sock: connect: permission denied
Run Code Online (Sandbox Code Playgroud)

我已经创建并重新创建了该docker组以及该组的用户,并多次注销,所有这些都是为了继续导致上述错误。唯一“解决”的是 running newgrp docker,但它仅适用于终端的该实例。

我该如何防止这种情况?我不想将该命令添加到我的.zshrc. 它总是通过将我的用户添加到docker用户中来起作用。

编辑

我注意到,在运行时groupsdocker尽管有数千次尝试将我的用户添加到其中,但 , 并不存在。为什么?

小智 11

我用这个命令解决了它:sudo setfacl -m user:gabriel:rw /var/run/docker.sock