由EVN指令声明的环境变量也可以用在Dockerfile的一些指令中作为变量使用。转义符也将类似变量的语法转义为语句。
在Dockerfile引用环境变量可以使用$variable_name或${variable_name}。它们是等同的,其中大括号的变量是用在没有空格的变量名中的,如${foo}_bar。
${variable_name}变量也支持一些标准的bash修饰符,如:
word可以是任意的字符,包括额外的环境变量。
转义符可以添加在变量前面:\$foo or \${foo},例如,会分别转换为$foor和${foo}。
示例:
环境变量支持在下面的指令中使用:
也包括:
注意:1.4之前的版本,ONBUILD指令不支持环境变量,即使是与上面列出的指令一起使用。
环境变量的替换在整个命令使用的值是一样的。例如:
def的值是hello,不是bye,不过,ghi的值为bye,因为设置abc为bye的命令与设置ghi命令不同。