Linux 默认用户未添加到docker组,必须执行su$user吗?
我有Ubuntu 18.04。安装docker后,我使用命令将我的用户添加到docker组Linux 默认用户未添加到docker组,必须执行su$user吗?,linux,docker,Linux,Docker,我有Ubuntu 18.04。安装docker后,我使用命令将我的用户添加到docker组 sudo usermod -aG docker ${USER} 并登录 su - ${USER} 如果我检查id,我的用户将添加到docker组 但是当我重新打开终端时,如果没有sudo,我就不能执行docker命令,除非我明确地执行su${USER} 此外,我找不到具有默认用户的docker组。 我在这里遗漏了什么?@larsks已经在评论中回答了主要问题,但是我想详细说明这一更改的含义(将默认用户
sudo usermod -aG docker ${USER}
并登录
su - ${USER}
如果我检查id,我的用户将添加到docker组
但是当我重新打开终端时,如果没有sudo,我就不能执行docker命令,除非我明确地执行su${USER}
此外,我找不到具有默认用户的docker组。
我在这里遗漏了什么?@larsks已经在评论中回答了主要问题,但是我想详细说明这一更改的含义(将默认用户添加到
docker
组)
基本上,Docker守护程序套接字由root:Docker
所有,因此为了使用Docker CLI命令,您需要位于Docker
组中,或者通过sudo
预先发送所有Docker
命令
如中所述,在个人工作站上采用第一种解决方案是有风险的,因为这等于为默认用户提供root权限,而不提供类似于sudo的密码提示保护。实际上,docker
组中的用户实际上是主机上的root用户。参见示例和
相反,您可能希望遵循第二种解决方案,通过在~/.bashrc
文件中添加一个别名,可以稍微简化第二种解决方案,例如:
alias docker="sudo /usr/bin/docker"
因此,
docker-run--rm-it-debian
将自动扩展到sudo/usr/bin/docker-run--rm-it-debian
,从而为默认用户保留sudo
的保护。只重新启动。对组凭据的更改不会影响当前会话。您只需注销并重新登录;没有必要重新启动。是的!谢谢,成功了。注销并登录。附:为什么有必要?