我有 Ubuntu 18.04。在安装 docker 之后,我使用命令将我的用户添加到 docker 组
sudo usermod -aG docker ${USER}
并登录
su - ${USER}
如果我检查 id,我的用户将被添加到 docker 组。
但是当我重新打开终端时,我不能在没有 sudo 的情况下执行 docker 命令,除非我明确地执行 su ${USER}
另外,我找不到默认用户的 docker 组。 我在这里错过了什么?
最佳答案
@larsks 已经在评论中回答了主要问题,但是我想详细说明该更改的含义(将您的默认用户添加到 docker
组)。
基本上,Docker 守护程序套接字由 root:docker
拥有,因此为了使用 Docker CLI 命令,您需要属于 docker
组,或通过 sudo
添加所有 docker
命令。
如 documentation of Docker 中所示, 在您的个人工作站上遵循第一个解决方案是有风险的,因为这相当于为默认用户提供 root 权限,而没有类似 sudo
的密码提示保护。事实上,docker
组中的用户是主机上的事实上 root。参见示例 this article和 that one .
相反,您可能想要遵循第二种解决方案,可以通过在 ~/.bashrc
文件中添加一个别名来稍微简化,例如:
alias docker="sudo /usr/bin/docker"
因此,docker run --rm -it debian
将自动扩展为 sudo/usr/bin/docker run --rm -it debian
,从而保留 sudo
对默认用户的保护。
关于linux - 默认用户未添加到 docker 组,必须执行 su $USER?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53373592/