Linux 默认用户未添加到docker组,必须执行su$user吗?

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已经在评论中回答了主要问题,但是我想详细说明这一更改的含义(将默认用户

我有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
命令

如中所述,在个人工作站上采用第一种解决方案是有风险的,因为这等于为默认用户提供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
的保护。

只重新启动。对组凭据的更改不会影响当前会话。您只需注销并重新登录;没有必要重新启动。是的!谢谢,成功了。注销并登录。附:为什么有必要?