How Do I Pass Environment Variables to Docker Containers?
It is always a good practice to separate the app from its configuration. It is not a good idea to have a database login credential defined as variables in the code of the application. This is why we use environment variables. But this means we need a way to pass the value somehow to the application running in the Docker container.
There are two main ways to inject environment variables into Docker containers.
Using the command line argument
When you launch docker using the
docker run command, you can pass the environment variables as a key-value pair using the
docker run --name ubuntu -env VARIABLE='value' -d ubuntu
If you have a variable already exported like this:
You can pass the variable into the docker like this:
docker run --name ubuntu -env VARIABLE -d ubuntu
Passing the variable using the command option argument is easy for a small number of variables. If you need to pass many variables at the same time, it is always better to use
.env file (also called envfile) is a simple text file in which the variables are defined as key-value pairs.
You can append variables to envfile using the following syntax:
echo VARIABLE1='value1' > envfile.txt
echo VARIABLE2='value2' >> envfile.txt
echo VARIABLE3='value3' >> envfile.txt
Please, notice the
>> operator when appending to an existing file. Using the
> operator would overwrite the content.
If you are new to Docker, feel free to start with our Getting started logging guide.
The fastest log
search on the planet
Better Stack lets you see inside any stack, debug any issue, and resolve any incident.
How To Deal With Persistent Storage (e.g. Databases) In Docker?
The best way to deal with persistent data storage (such as a database) in Docker is to use Docker’s volume API (for docker 1.9.0 or newer) or use data-only containers for older versions of Docker. ...Questions
How to Remove a Docker Image?
To remove one or more specific images, you can use the docker rmi command. How to list all images If you want to list all the images before removing any, you can do they by running the following co...Questions
How to Execute Multiple Commands in Docker-Compose?
It is possible to define and run multiple commands in the docker-compose.yml file. To execute multiple commands using Docker-Compose, structure the file in the following way: ... services: app: ...Questions
How to Delete All Local Docker Images?
If you have a large number of docker containers and images, you can remove them all at once. Remove all docker images To delete all docker images, run the docker rmi command: docker rmi -f $(docker...Questions
Make your mark
Join the writer's program
Are you a developer and love writing and sharing your knowledge with the world? Join our guest writing program and get paid for writing amazing technical guides. We'll get them to the right readers that will appreciate them.Write for us
Build on top of Better Stack
Write a script, app or project on top of Better Stack and share it with the world. Make a public repository and share it with us at our email@example.com
or submit a pull request and help us build better products for everyone.
See the full list of amazing projects on github