WORKDIR 指令

WORKDIR /path/to/workdir

WORKDIR 指令设置 Dockerfile 中跟随它的任何 RUNCMDENTRYPOINTCOPYADD 指令的工作目录。如果 WORKDIR 不存在,即使它未在任何后续 Dockerfile 指令中使用,也将创建它。

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

WORKDIR /a
WORKDIR b
WORKDIR c
RUN pwd

Dockerfile 中最终 pwd 命令的输出将为/a/b/c

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

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

此 Dockerfile 中最终 pwd 命令的输出将为/path/$DIRNAME