我正在使用 CentOS 6.9 高性能计算平台系统,希望使用非 root 用户的 Docker。有没有一种方法可以从源代码编译 Docker,而无需 root 权限?
我正在使用 CentOS 6.9 高性能计算平台系统,希望使用非 root 用户的 Docker。有没有一种方法可以从源代码编译 Docker,而无需 root 权限?
这不应该是可能的,因为这将是一个重大的安全隐患。
当在一台机器上安装了Docker后,具有docker访问权限(不一定是root用户)的用户可以启动容器。特别是,他们可以在特权模式下启动容器,从而使容器可以访问所有主机设备。
更重要的是,拥有docker访问权限的用户可以挂载机器根用户独占的目录。由于在容器中默认情况下,内部的root用户将能够访问容器内已挂载的专属于机器根用户的目录,因此任何由非root用户启动的Docker容器都将允许访问关键的机器内容。
因此,不应该允许非root用户安装Docker并启动容器,因为这会危及整个机器。
请查看docker维护者之一的明确评论。
更新 yamenk 的回答:
现在,Docker 有官方的无根模式: 以非 root 用户身份运行 Docker 守护进程
以下是一位 Docker 工程师解释其工作方式的说明:
尝试使用无根 Docker 进行实验