docker --Dockerfile--一些语法

环境更换

环境变量(与声明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
 
原文地址:https://www.cnblogs.com/kuku0223/p/8431925.html