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