Est-il possible de manière conditionnelle d'un ENV
variable dans un Dockerfile basé sur la valeur de l'accumulation ARG
?
Ex: quelque chose comme
ARG BUILDVAR=sad
ENV SOMEVAR=if $BUILDVAR -eq "SO"; then echo "hello"; else echo "world"; fi
Mise à jour: l'utilisation actuelle basée sur Mario réponse:
ARG BUILD_ENV=prod
ENV NODE_ENV=production
RUN if [ "${BUILD_ENV}" = "test" ]; then export NODE_ENV=development; fi
Toutefois, en cours d'exécution avec --build-arg BUILD_ENV=test
, puis d'aller sur l'ordinateur hôte, je reçois toujours
docker run -it mycontainer bin/bash
[root@brbqw1231 /]# echo $NODE_ENV
production