Dockerfile中ARG和FROM如何相互作用

半兽人 发表于: 2021-03-02   最后更新时间: 2021-03-02 16:15:36  

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


您需要解锁本帖隐藏内容请: 点击这里
本帖隐藏的内容


上一条: Docker目录/var/lib/docker/containers文件太大
下一条: Dockerfile多From用法