“docker-compose up”作为 root 用户还是非 root 用户?

r00*_*usr 5 security linux docker docker-compose

在阅读了一些文章后,我仍然不确定应该使用哪个用户来运行 docker 容器。以 root 用户身份运行 docker 容器时是否存在任何安全问题?以 root 用户身份运行 docker 容器是否可以,或者我应该使用我的普通用户,将他添加到“docker”组然后运行我的容器还是我应该创建一个仅用于管理/创建 docker 容器的附加用户?

root@myDockerHost:/opt/myDockerContainer# docker-compose up -d

VS

chris@myDockerHost:/opt/myDockerContainer# docker-compose up -d

VS

dockerusr@myDockerHost:/opt/myDockerContainer# docker-compose up -d

(我说的是我的 docker 主机上的用户 - 而不是容器内的用户!)

小智 5

r00tusr!

我投票支持始终以普通用户身份运行容器。

在生产系统中,您的容器不会以 root 身份运行。即使在非生产系统中,运行容器的用户也可能不被允许以 root 身份运行程序。

因此,我喜欢让它们作为非特权用户正常工作,即使这很困难。

此外,还有安全考虑。专业系统管理员遵循的一般规则是永远不要以 root 身份运行某些东西,除非确实必须这样做。一旦程序以 root 身份运行,它就可以完全控制计算机,并且可以对该计算机执行指定的任何操作。无论这是作者想要的好作品,还是由一个不善之人通过作者不想关闭的漏洞侵入作者程序的邪恶作品。

由于我们最终了解到我们确实无法预测哪些程序存在缺陷,因此我们不再冒险。

谢谢!麦克风