ARG 用来设置构建镜像时的变量,ENV 用来设置容器的环境变量。
共同点
- 这2个指令都是用来设置变量的
- 两者都可以通过终端的命令行去修改各自定义的变量的值
不同点
ENV 声明的变量会覆盖 ARG 声明的同名变量
示例1
FROM alpine
ARG CONT_IMG_VER
ENV CONT_IMG_VER v1.0.0
RUN echo $CONT_IMG_VER
开始构建docker build -t apron/test --build-arg CONT_IMG_VER=v2.0.1 --no-cache .
结果:Step 4/4 : RUN echo $CONT_IMG_VER
---> Running in f340a91b3166
v1.0.0