2016-03-21 29 views
-1

我有2幅搬運工圖像,第一Dockerfile創建使用用戶:USER和WORKDIR指令是否保存在下游docker文件中?

RUN useradd -m newuser 

然後將其切換到用戶和工作區,如下所示:

USER newuser 
WORKDIR /home/newuser/ 

第二搬運工文件從所述第一圖像讀取使用FROM語句。

USERWORKDIR指令是否仍然保留在第二個文件中,而不必再次放入它們?

+3

可能。你試過了嗎? – Auzias

+0

我做過了,但它並不適合我,但我被告知這應該按照所述的方式工作。我只是想確認它應該工作的方式 – fmanaa

+0

您可以分享您的dockerfiles並詳細說明您的過程嗎? – Auzias

回答

1

從這個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 

一個構建和後運行:從這個Dockerfile

$docker build -t deb . 
$docker run --rm deb bash -c "pwd && whoami" 
/home/user 
user 

現在,從以前的基於圖像的:

FROM deb 
ENTRYPOINT [ "sh" ] 

構建並運行:

$docker build -t debb . 
$docker run --rm -it debb 
[container]$ pwd && whoami 
/home/user 
user 

所以,是的USERWORKDIR繼承


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 
相關問題