docker build –build-arg 环境变量不生效的坑

作者: root007 分类: Linux 发布时间: 2020-12-18 16:23

A镜像使用了ARG,B镜像FROM A镜像的前提条件下:

A:

cat Dockerfile 
FROM busybox 
FROM busybox:v12
ARG  APP_ENV
ENV APP_ENVr=${APP_ENV}
docker build -t busybox:v1 --build-arg APP_agr=sit1    .
docker  run --rm -it  -t busybox:v13    env | grep APP_ENV

B:

[root@43-c60403747-0048-1129483 ~]# cat Dockerfile 
#FROM busybox 
FROM busybox:v1
ARG  APP_ENV
ENV APP_ENV=${APP_ENV}

这个时候APP_ENV环境变量没有覆盖 变量没有生效

处理方案–build-arg 的名称和ENV名称不能相同修改一下即可

FROM busybox:v1
ARG  env_agr
ENV APP_ENV=${env_agr}

docker build -t busybox:v2 --build-arg env_agr=sit2    .

发表评论

邮箱地址不会被公开。 必填项已用*标注