如何以非root用户

时间:2018-01-09 02:27:47

标签: docker docker-container

我有一个docker容器映像,我需要以非root用户身份运行。

  1. 将用户添加到docker组会执行此操作,但由于这样可以为用户提供系统的完全根控制,因此我无法使用此方法。

  2. 提供sudo权限并执行docker run命令是另一种方法,但是使用sudo,容器运行命令的所有权仍然是" root"。 (我需要的是它应该将用户列为所有者)

  3. 我可以在docker run命令中指定用户运行时间。有了这个,我看到我能够以非root身份运行"内部"容器。我仍然必须使用sudo为容器运行命令添加前缀,并且容器由" root"

  4. 运行
  5. 我不能将非root用户添加到Dockerfile中,因为容器图像不是由我们创建的。

  6. 有没有办法在不损害安全性的情况下以非root用户身份执行docker容器?有没有办法,用户可以添加到docker组,但权限有限,用户没有得到系统的完全root权限?

1 个答案:

答案 0 :(得分:-1)

默认情况下,只能以root用户或由docker组中的用户运行docker命令,而docker组是在Docker安装过程中自动创建的。

如果要避免在每次运行docker命令时都键入sudo,请将用户名添加到docker组:

sudo usermod -aG docker ${USER}

要应用新的组成员身份,请注销服务器并重新登录,或键入以下内容:

su - ${USER}

系统将提示您输入用户密码以继续。

通过输入以下内容确认您的用户已添加到docker组:

id -nG