docker build –build-arg 环境变量不生效的坑
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 .