如何配置Docker以便用户只能停止他们启动的容器?

时间:2018-05-28 05:14:42

标签: docker permissions

在我的电脑上(Ubuntu 16.04.4 LTS(GNU / Linux 4.4.0-119-generic x86_64), Docker版本18.03.0-ce,build 0520e24),如果用户A启动容器(docker run),用户B可以将其停止(docker stop)。

如何配置Docker以便用户只能停止他们启动的容器?

2 个答案:

答案 0 :(得分:3)

在docker中无法做到这一点。这是因为docker容器本质上以root身份运行。这意味着有人可以部署具有root访问权限的容器,通过卷映射为自己提供对主机环境的访问权限,以及 bam ,他们可以在主机上拥有root访问权限。

如果您希望让多个用户拥有docker环境,并且它们应该被隔离,您将需要为此自行解决(这涉及不通过命令行访问docker机器或容器),或者你需要有多台机器(每个用户一台)可以隔离它们。

以下是有关docker root升级的好文章:http://container-solutions.com/docker-security-admin-controls-2/mirror)。

答案 1 :(得分:2)

通过将用户添加到docker用户组或将其设为管理员用户,将Docker CLI暴露给用户,他可以创建,删除和终止容器。他甚至可以改变Docker守护进程的配置。

如果不需要CLI访问,您可以通过拒绝除admin用户以外的所有用户的访问权限来更改此权限。

可以使用portainerdocker ucp

等解决方案来管理用户管理