WORKDIR 指令
WORKDIR /path/to/workdir
WORKDIR
指令设置 Dockerfile 中跟随它的任何 RUN
,CMD
,ENTRYPOINT
,COPY
和 ADD
指令的工作目录。如果 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