以非 root 用户身份运行 docker 容器?

以非 root 用户身份运行 docker 容器?

有没有办法让没有 root 权限的用户运行 docker 容器?

明确地说,我不是询问我是否可以创建用户以非 root 身份运行的容器。相反,我需要知道一个完全没有 root 或类似 root 权限的用户是否可以运行 docker 容器以及如何运行它。

我正在探索一些分发难以构建的研究/学术软件的方法,docker 已经被推荐过好几次了。我最担心的是,仅仅运行 docker 容器就需要 root 权限,这可能会给一些用户带来问题。

我已经在 google 上搜索了至少一个小时:

  • 这些来源(123) 谈论创建没有 root 权限的容器用户,但我不相信这允许非 root 用户运行容器。

  • 这些来源(45)讨论了 docker 组,但请注意,docker 组相当于 root。这让我印象深刻 异常地这是危险的,更不用说毫无意义的,而且由于法律原因我们的管理员绝不会允许这种行为。

  • 该来源(6) 讨论了名称间距,但是我对 docker 的经验不够,不知道这是否是我想要的。

答案1

我知道这是一个老问题但这可能会有所帮助:

乌多克是一款基本的用户工具,用于在用户空间中执行简单的 docker 容器,无需 root 权限。允许非特权用户在不支持 docker 的 Linux 系统中下载和执行 docker 容器。它可用于在由其他实体(例如网格基础设施或外部管理的批处理或交互式系统)管理的 Linux 批处理系统和交互式集群中拉取和执行 docker 容器。

答案2

Docker 一直致力于无根支持已于 20.10 中正式发布。但它确实有一些缺点,例如,必须以非特权用户身份配置网络和文件系统挂载。在能够运行具有无根支持的容器之前,您需要以 root 身份配置主机的各种先决条件。Docker 的无根页面上列出了完整的详细信息,包括受支持的发行版和必需的先决条件:

https://docs.docker.com/engine/security/rootless/

答案3

您研究过气泡膜吗?

https://github.com/projectatomic/bubblewrap

Red Hat 团队正在与 cri-o 合作,在没有 Docker 的情况下运行 Linux。

相关内容