Docker映像/容器中的root用户是否与机器的root用户相同?我对在Docker映像中使用root用户的安全性感到好奇。

TMK,该容器由非root用户运行(通常将该用户称为“ docker”),并且该用户启动了docker-dameon。然后docker守护程序启动容器进程。

#1 楼

容器中的根不是容器的根用户。记住容器是隔离运行的。
DOcker使用cgroup和内核linux的libvirt。

评论


等等,如果您只是运行一个Docker容器,并且您在该容器中的UID为0,并且(例如)您已经将一些根拥有的文件挂载到了该容器中,那么我的理解是,无需添加docker提供的其他安全机制(以及大多数容器管理接口)(例如selinux或用户名称空间等),就可以对主机上根目录拥有的那些文件进行处理时,您可以充当UID 0。

– hvindin
20-2-29在2:06

@hvindin听起来很准确。这是要考虑的一件事-GCP或AWS之类的平台也不要阻止您在Dockerfile中使用USER根目录,如果您可以跳出其平台上的容器,则它们会感到不满意,但听起来足够安全,并且它们通过不共享root卷(可能是idk)来阻止您跳出。

–亚历山大·米尔斯(Alexander Mills)
20 Dec 16 '22:49