FROM
指令支持在第一个FROM之前声明的ARG
指令变量,如下:
ARG CODE_VERSION=latest
FROM base:${CODE_VERSION}
CMD /code/run-app
FROM extras:${CODE_VERSION}
CMD /code/run-extras
但是在FROM
之前声明的ARG
,是在构建阶段之外的,所以不能在FROM
之后的任何指令中使用它。要使用在第一个FROM
之前声明的ARG
的默认值,需要在构建阶段内使用一个没有值的ARG
指令。
ARG VERSION=latest
FROM busybox:$VERSION
ARG VERSION
RUN echo $VERSION > image_version