【问题标题】:Restrict Docker containers to the UNIX user that runs it将 Docker 容器限制为运行它的 UNIX 用户
【发布时间】:2019-04-08 09:41:01
【问题描述】:

我正在向更多用户开放我的 Docker 服务器,但我遇到了这个问题:当我使用不是容器作者的用户(例如 paul)执行 docker ps 时,我看到所有容器并且可以与之交互(停止、杀死等),这不是我想要的。

将容器限制为原始用户然后无法访问服务器上的所有容器可能是一种好方法,所以当我执行docker ps 时,我只看到paul 运行的容器而不是@987654325 @ 或 jess?

我所有的容器都是用不同的用户启动的,没有一个是用 root 启动的。

【问题讨论】:

    标签: docker docker-compose multiple-users


    【解决方案1】:
    1. 任何有权访问 Docker 的人都等同于 root

      考虑一下我可以运行这样的东西:

      docker run -v /:/host alpine
      

      现在我可以使用 root 权限编辑您主机上的任何文件

    2. Docker 本质上不是一个多用户工具。要么信任每个人,要么使用虚拟化为每个人提供自己的 Docker 实例,或者在 Docker 前面使用某种 API 代理来限制人们可以做的事情。

      因为它不是一个多用户工具,Docker 并没有真正跟踪启动容器的用户,所以没有办法过滤这些信息。

    【讨论】:

    • 哦,好吧,我没有想到这个愿景。您提到的想法可能是什么解决方案?有没有关于这个我可以尝试的教程?我对这个概念不是很有经验。谢谢!
    • 访问 docker 不需要任何 root 权限!!所有分配到“docker”组的用户都可以管理 docker 容器。
    • @F.Madsen 我也这么认为。但是没有办法创建组来管理某些容器,对吧?那太棒了
    • 所有分配到“docker”组的用户都可以编辑主机的/etc/shadow/etc/sudoers文件。 “docker”组绝对 100% 等同于主机上的 root 权限。
    • @F.Madsen 我没有说访问需要根权限,我说的是授予根权限。
    猜你喜欢
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 2021-09-21
    • 2014-11-17
    相关资源
    最近更新 更多