我有2个泊坞窗图像,第一个Dockerfile使用:
创建用户RUN useradd -m newuser
然后按如下方式切换到用户和工作区:
USER newuser
WORKDIR /home/newuser/
第二个docker文件使用FROM语句从第一个图像读取。
USER
和WORKDIR
指令是否仍然存在于第二个文件中,而不必再将它们放入?
答案 0 :(得分:3)
从这个Dockerfile:
FROM debian:8
ENV HOME /home/user
RUN useradd --create-home --home-dir $HOME user \
&& mkdir -p $HOME \
&& chown -R user:user $HOME
WORKDIR $HOME
USER user
构建并稍后运行:
$docker build -t deb .
$docker run --rm deb bash -c "pwd && whoami"
/home/user
user
现在来自这个Dockerfile,基于上一张图片:
FROM deb
ENTRYPOINT [ "sh" ]
构建并运行:
$docker build -t debb .
$docker run --rm -it debb
[container]$ pwd && whoami
/home/user
user
所以,是的,USER
和WORKDIR
继承了。
Client:
Version: 1.10.3
API version: 1.22
Go version: go1.5.3
Git commit: 20f81dd
Built: Thu Mar 10 15:38:58 2016
OS/Arch: linux/amd64
Server:
Version: 1.10.3
API version: 1.22
Go version: go1.5.3
Git commit: 20f81dd
Built: Thu Mar 10 15:38:58 2016
OS/Arch: linux/amd64