当我尝试运行简单的 docker 命令时,例如:
$ docker ps -a
我收到一条错误消息:
获得权限被拒绝… /var/run/docker.sock: connect: 权限被拒绝
当我检查权限时
$ ls -al /var/run/
我看到这一行:
srw-rw---- root docker docker.sock
因此,我遵循许多论坛的建议,并将本地用户添加到 docker 组:
$ sudo usermod -aG docker $USER
但这无济于事。我仍然收到相同的错误消息。我该如何解决?
原文由 Jacobian 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于那些刚接触 shell 的人,命令:
需要在你的 shell 中定义
$USER
。默认情况下通常会出现这种情况,但您可能需要在某些 shell 中将该值设置为您的登录 ID。更改用户的组不会更改用户已打开的现有登录名、终端和 shell。为避免再次执行登录,您可以简单地运行:
在您当前的 shell 中访问该组。
完成此操作后,用户有效地拥有服务器上的 root 访问权限,因此仅对受信任且具有不受限制的 sudo 访问权限的用户执行此操作。