0

我遇到了一个场景,我需要构建一个需要以非 root 用户身份运行的 docker 镜像。为了详细解释,在 docker build 期间,我正在尝试安装一个需要以非 root 用户身份安装的服务。所以我环顾了一些像LinkLink这样的东西,它们展示了如何以非 root 用户身份运行 Docker 容器。我对如何在 Dockerfile 中创建用户有点困惑。我在 dockerfile 中使用了以下几行,

RUN useradd -r -u 1001 -g appuser appuser
USER appuser

我已经成功创建了图像,并且容器似乎以 appuser 身份启动。但是我需要向客户提供这个 docker 镜像,所以我的问题是,

  1. 我需要在我的客户端机器上创建用户 appuser 吗?
  2. 如果我不创建任何此类用户,docker 在客户端计算机中的行为如何?

提前致谢。

4

1 回答 1

1

我需要在我的客户端机器上创建用户 appuser 吗?

RUN 命令不是在您的客户端计算机上创建它,而是在容器上创建它。事实上,Dockerfile 中的所有指令都适用于正在构建的镜像和从中启动的容器。

如果我不创建任何此类用户,docker 在客户端计算机中的行为如何?

一样的答案。客户端机器上没有安装任何东西(除了 docker,我认为这是给定的)。

于 2018-05-13T17:19:25.127 回答