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
。