我有一个docker容器映像,我需要以非root用户身份运行。
将用户添加到docker组会执行此操作,但由于这样可以为用户提供系统的完全根控制,因此我无法使用此方法。
提供sudo权限并执行docker run命令是另一种方法,但是使用sudo,容器运行命令的所有权仍然是" root"。 (我需要的是它应该将用户列为所有者)
我可以在docker run命令中指定用户运行时间。有了这个,我看到我能够以非root身份运行"内部"容器。我仍然必须使用sudo为容器运行命令添加前缀,并且容器由" root"
我不能将非root用户添加到Dockerfile中,因为容器图像不是由我们创建的。
有没有办法在不损害安全性的情况下以非root用户身份执行docker容器?有没有办法,用户可以添加到docker组,但权限有限,用户没有得到系统的完全root权限?
答案 0 :(得分:-1)
默认情况下,只能以root用户或由docker组中的用户运行docker命令,而docker组是在Docker安装过程中自动创建的。
如果要避免在每次运行docker命令时都键入sudo,请将用户名添加到docker组:
sudo usermod -aG docker ${USER}
要应用新的组成员身份,请注销服务器并重新登录,或键入以下内容:
su - ${USER}
系统将提示您输入用户密码以继续。
通过输入以下内容确认您的用户已添加到docker组:
id -nG