環境更換
環境變量(與聲明的ENV聲明),也可以在特定指令作為變量用來被解釋 Dockerfile。轉義也被處理,從字面上包含類似於變量的語法。
環境變量Dockerfile用 $variable_nameor 來標注${variable_name}。他們被對等地對待,大括號語法通常用於解決變量名稱沒有空白的問題,如${foo}_bar。
該${variable_name}語法還支持一些標准bash 修飾符,如下所示:
${variable:-word}表示如果variable設置,則結果將是該值。如果variable沒有設置,那么word將是結果。${variable:+word}表示如果variable設置則返回word結果,否則結果為空字符串。
在任何情況下,word都可以是任何字符串,包括其他環境變量。
可以通過\在變量之前添加一個轉義來逃避:\$foo或者\${foo},例如,將分別轉換為文字$foo和${foo}文字。
示例(在之后顯示解析的表示#):
FROM busybox
ENV foo /bar
WORKDIR ${foo} # WORKDIR /bar
ADD . $foo # ADD . /bar
COPY \$foo /quux # COPY $foo /quux
參考文獻:https://docs.docker.com/engine/reference/builder/#cmd
