【发布时间】:2016-08-15 08:23:25
【问题描述】:
Docker 总是有一个 USER 命令来以特定用户身份运行进程,但通常很多东西都必须以 ROOT 身份运行。
我见过很多使用ENTRYPOINT 和gosu 来降低进程运行的图像。
我对@987654325@ 的需求仍然有些困惑。 USER 还不够吗?
我知道 Docker 1.10 在安全性方面发生了很大变化,但我仍然不清楚在 docker 容器中运行进程的推荐方法。
谁能解释我什么时候使用gosu 和USER?
谢谢
编辑:
Dockerbest practice guide不是很清楚:它说如果进程可以在没有权限的情况下运行,使用USER,如果你需要sudo,你可能想使用gosu。
这很令人困惑,因为可以在Dockerfile 中以ROOT 的身份安装各种东西,然后创建一个用户并为其赋予适当的权限,最后切换到该用户并以该用户身份运行CMD。
那么为什么我们需要 sudo 或 gosu 呢?
【问题讨论】:
标签: docker dockerfile