在我的电脑上(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以便用户只能停止他们启动的容器?
答案 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用户以外的所有用户的访问权限来更改此权限。
可以使用portainer或docker ucp
等解决方案来管理用户管理