In this article, we will see how to effectively use Docker environment variables within the ENTRYPOINT array, which allows greater flexibility and control over container execution.
Define the environment variables
To set environment variables in Docker, you can use the -e
or --env
flag while running the docker run
command.
docker run -e VARIABLE_NAME=variable_value image_name
The above command sets the environment variable VARIABLE_NAME
with the value variable_value
within the container.
Using env variables in ENTRYPOINT:
In the Dockerfile, The ENTRYPOINT
instruction allows us to configure a command executed when the container starts. We can pass arguments to the ENTRYPOINT
command, making it a powerful tool for container configuration. To utilize environment variables within the ENTRYPOINT
array:
Define the environment variable in the docker file with the default value.
Within the Dockerfile, specify the desired environment variables using the ENV
instruction. The following sets the environment variable VARIABLE_NAME
with the default value default_value
.
ENV VARIABLE_NAME=default_value
Reference environment variables in the ENTRYPOINT array
In the ENTRYPOINT
array, we can reference the environment variables using the standard shell syntax ($VARIABLE_NAME
). The #VARIABLE_NAME
will be replaced during the runtime.
ENTRYPOINT ["executable", "$VARIABLE_NAME", "arg1", "arg2"]
When running the container, you can use the -e
flag to override the default value of an environment variable.
docker run -e VARIABLE_NAME=new_value image_name