是否可以根据构建 ARG
的值在 Dockerfile 中有条件地设置 ENV
变量?
例如
ARG BUILDVAR=sad
ENV SOMEVAR=if $BUILDVAR -eq "SO"; then echo "hello"; else echo "world"; fi
更新: 根据马里奥的回答,目前的用法是:
ARG BUILD_ENV=prod
ENV NODE_ENV=production
RUN if [ "${BUILD_ENV}" = "test" ]; then export NODE_ENV=development; fi
但是,运行 --build-arg BUILD_ENV=test
然后进入主机,我还是得到了
docker run -it mycontainer bin/bash
[root@brbqw1231 /]# echo $NODE_ENV
production