我遇到了一个场景,我需要构建一个需要以非root用户身份运行的docker镜像 . 为了详细解释,在docker build期间,我正在尝试安装一个需要以非root用户身份安装的服务 . 所以我环顾了一些像Link和Link,它显示了如何以非root用户身份运行Docker容器 . 我对如何在Dockerfile中创建用户感到困惑 . 我在dockerfile中使用了以下行,
RUN useradd -r -u 1001 -g appuser appuser
USER appuser
我已经成功创建了图像,容器似乎是作为appuser启动的 . 但是我需要向客户端提供这个docker镜像,所以我的问题是,
-
我是否需要在客户端计算机上创建用户appuser?
-
如果我不创建任何此类用户,docker在客户端计算机中的行为如何?
提前致谢 .
1 回答
RUN命令不会在客户端计算机上创建它,而是在容器上创建它 . 实际上,Dockerfile中的所有指令都适用于正在构建的映像以及从中启动的容器 .
答案相同 . 客户端计算机上没有安装任何东西(除了docker,我认为是给定的) .