我已经做了一个实验来检查这一点。以下是我的Dockerfile:
FROM ubuntu:bionic
RUN echo $UID > a.out && echo "hello" > a.out
RUN useradd -m user
RUN echo $UID > b.out
USER user
a.out和b.out的结果如下所示。
user@39370ee77a16:/$ cat a.out
hello
user@39370ee77a16:/$ cat b.out
我的问题是:
谢谢!
最佳答案
(到目前为止)在其他答案中尚未完全解决的是您的第二个问题:
$UID
是bash内部变量。从dockerfile创建镜像时,未使用bash,因此未定义$UID
,因此使用它会返回一个空字符串。
要使此答案完整,即使已经回答过:
这取决于如何设置FROM
语句中的图像。
关于docker - Dockerfile中指令的默认用户是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58797402/