Docker总是有一个USER命令来作为特定用户运行进程,但一般来说很多东西必须作为ROOT运行.
我已经看到很多图像使用ENTRYPOINTwith gosu来提升运行过程.
对于需要,我仍然有点困惑gosu.用户不应该够吗?
我知道在Docker 1.10的安全性方面有很多变化,但我仍然不清楚在docker容器中运行进程的推荐方法.
有人可以解释我什么时候使用gosuvs.USER
谢谢
编辑:
Docker 最佳实践指南不是很清楚:它说如果进程可以在没有特权的情况下运行,请使用USER,如果你需要sudo,你可能想要使用gosu.这是令人困惑的,因为人们可以在ROOT中安装各种东西Dockerfile,然后创建一个用户并赋予它适当的权限,然后最终切换到该用户并运行该CMD用户.那么为什么我们需要sudo gosu呢?