[英]How to isolate docker containers from other users
我最近玩的是码头工人集装箱。 我已经设置了一个docker主机,用户是docker组的一部分,因此他们可以为他们自己启动容器。 但在这种情况下,用户A可以访问由用户A启动的容器。所以我正在寻找一种方法将用户容器与其他用户隔离,并尝试将-u
标志添加到docker run
命令,但是出现了以下错误
FATA[0001] Error response from daemon: Cannot start container XXXXX: [8] System error: Unable to find user abc
相同的命令与out -u
标志一起使用
用户abc确实存在于主机上,但不确定我在这里缺少什么。
谁知道这里有什么问题?
我使用Docker 1.6.2在Ubuntu 14.04上
有权在主机上运行Docker容器的用户有效地在该主机服务器上具有完全root访问权限。 他们可以轻松运行docker run -it --rm -v /:/target debian
并拥有一个root shell,主机文件系统映射到该shell。
因此,您无法通过直接访问Docker引擎与其他用户隔离。 为了获得您正在寻找的隔离,您需要在Docker引擎之上使用一个工具来提供RBAC并仔细配置以限制每个用户可以提交的内容。 Docker拥有自己的(通用控制平面)和其他供应商已经创建了类似的产品。 或者,正如Mark建议的那样,给每个用户自己的VM运行Docker的孤立实例。
Docker不是一种多租户服务,它解释了为什么容器对同一服务器上的用户可见。
从理论上讲,您可以为每个用户启动一个docker守护程序,但是为每个用户提供一个可以运行其容器的虚拟机可能更简单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.