Docker总是有一个USER命令来作为一个特定的用户运行一个进程,但是一般来说,很多事情都不得不以ROOT运行.
我看到很多图像,使用一个ENTRYPOINT与gosu来取消提升运行的过程.
我对gosu的需要还有点困惑.用户不应该不够用吗
我在Docker 1.10的安全性方面有所改变,但是我仍然不清楚在Docker容器中运行流程的推荐方法.
有人可以解释何时使用gosu vs. USER?
谢谢
编辑:
Docker best practice guide不是很清楚:它说如果进程可以无需运行,可以使用USER,如果需要sudo,可能需要使用gosu.
这是令人困惑的,因为可以在Docker文件中安装各种各样的东西作为ROOT,然后创建一个用户并给予它适当的权限,然后最终切换到该用户并运行CMD作为该用户.
那么为什么我们需要sudo或gosu呢?
最佳答案