WORKDIR

WORKDIR /path/to/workdir

WORKDIR指令Dockerfile中在该指令之后的RUN,CMD、ENTRYPOINT、COPY ADD指令设置工作目录。如果WORKDIR不存在,那么即使它没有被用于任何后续的Dockerfile指令,它也会被创建 。

WORKDIR指令可以在Dockerfile中多次使用。如果提供了相对路径,则该路径将相对于之前的WORKDIR指令的路径。例如:

WORKDIR /a
WORKDIR b
WORKDIR c
RUN pwd

上面Dockerfilepwd命令输出的结果是/a/b/c

WORKDIR指令可以解析先前在Dockerfile中通过ENV设置的环境变量。我们只能使用Dockerfile中明确设置的环境变量。例如:

ENV DIRPATH=/path
WORKDIR $DIRPATH/$DIRNAME
RUN pwd

最终pwd命令输出的结果是/path/$DIRNAME

Last updated