Conditional if else in docker with examples
This tutorial explains How to write if-else conditional statements in Docker
Docker if else conditional arguments
Declared a variable environment
There are no IF else conditionals in the Docker file. You have to write a shell script syntax for if else condition
Use the RUN command with bash or Shell script to execute in a single line.
Here is a syntax file
You can write the RUN command in a single line or multiple lines
RUN if [ condition1 ]; then command1; else command2; fi
Multiple lines by appending \
RUN if [ condition1 -o condition2 ]; then \
command1; \
else \
command2; \
fi
Here is an example
ARG environment
RUN if [ "$environment" = "production" ] ; then npm run build ; else npm run dev ; fi
In the same way we can write in multi-line commands by appending \
ARG environment
RUN if [ "$environment" = "production" ] ; then \
npm run build ;\
else
npm run dev; \
fi\
Pass the environment variable to the docker file using the --build-arg
command Run the below command
docker build -t myimage . --build-arg environment=production