添加docker命令的限制

时间:2016-11-08 03:31:48

标签: docker

我刚开始学习码头工具。

我创建了一个小组' docker'并将用户添加到组中,以便这些用户在执行“docker run”操作时可以避免使用sudo。等...但我不希望这些用户运行“docker rm,docker rmi,docker images'有没有办法为“#docker”中的用户设置对这些命令的限制?组?这有可能实现吗?

由于

编辑:

以下是我们的案例,(原谅我的英语,我希望我能清楚地解释清楚)

我们有一个节点集群,我们使用ansible来安装docker,构建docker镜像并将图像存储在每个节点上。我们不希望任何用户触摸这些节点。

一旦用户通过另一个门户网站登录,他们将从群集中分配1个节点,并获得可从浏览器访问的桌面。我们根本不希望用户拥有root访问权限。他们只允许在他们的主文件夹中做事。用户没有sudo密码。

在桌面上,有一个菜单选项' ABC'。 ' ABC'是docker容器中的应用程序。因此,单击菜单选项会运行容器,菜单后面的命令是“docker run .....”#。因为docker只运行' root'所以我们将登录用户添加到' docker'组,以便当用户点击菜单时,' docker run'不会要求sudo密码,应用程序容器将成功运行。

但问题是' docker'中的任何用户group被认为是root用户,所以即使我们能够允许用户使用“docker run”,他们仍然可以做很多事情。

如果我们不将用户添加到' docker'组,单击菜单不会启动该程序。

我还在谷歌上搜索找到解决方案。

由于

1 个答案:

答案 0 :(得分:1)

这不是一件容易的事,但twistlock authz插件支持限制Docker引擎上的个人行为。您需要为Docker配置证书,向访问docker的用户颁发证书,通过从docker组中删除unix socket访问权限并使用他们的证书登录网络端口,安装第三方插件,以及然后设置你的ACL。

对于更直接的解决方案,Docker也有他们的商业产品。