Dockerfile中的WORKDIR $ HOME似乎不起作用
我有一个Dockerfile,其中包含两个WORKDIR
语句(在其他的),如下所示:
RUN pwd # reports /root WORKDIR /tmp RUN wget ... RUN tar zxvf ... RUN cd ... && ; ./configure && make && make install RUN sed ... RUN sed ... RUN rm ... RUN rm -fr ... WORKDIR $HOME RUN pwd # reports /tmp (instead of /root)
我希望pwd
是/root
(即/root
$HOME
),但是它仍然是/tmp
。 我在这里犯了一个明显的错误吗? 有没有更好的方法来恢复pwd
的“原始”价值。
似乎最好的方法是明确设置您自己的默认值,以确保它是一致的,如:
ENV HOME /root WORKDIR $HOME .. do something in /root .. WORKDIR /tmp .. do something else in /tmp .. WORKDIR $HOME .. continue back in /root ..
注意:
WORKDIR指令可以parsing先前使用ENV设置的环境variables。 您只能使用在Dockerfile中显式设置的环境variables。