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