Jack Wallen shows how easy it is for you to use environment variables in your containers with the Portainer management system.
Environment variables are an important part of the container puzzle. This feature allows you define the variables required for the containers that you deploy. For instance, say you’re going to deploy a full-stack application that depends on MySQL. You might need to be able set up databases, passwords, and users to enable this deployment. Environment variables can be used to do this.
SEE: Hiring kit: Backend Developer (TechRepublic Premium)
When environment variables are used in a command-line deployment (such as when you use Docker-compose), they’ll be defined in a .env file. Variables are defined in key-value pairs within the.env files.
VARIABLE1_NAME=somevalue
VARIABLE2_NAME=another value
You can include as many key-value pair as you want in the.env files. When you deploy your container with Docker-compose, it’ll read the .env file and apply the key-value pairs as needed.
With Portainer, this is all handled within a powerful web-based GUI, so there’s no need to create a .env file manually.
I will show you how to use the Portainer environment variables feature.
What you’ll need
The only thing you’ll need to make this work is a running instance of Portainer, which can easily be deployed with the help of Docker.
That’s it. Let’s get our environment variables on.
How to create a container that has environment variables
Let’s use MySQL as an example of assigning environment variables. Log in to Portainer and click Containers on the left navigation. The page that results will be displayed (Figure AClick Add Container.
Figure A
In the Create a container window (Figure BGive the container a name, then type mysql
In the Image field.
Figure B
Scroll down and click on the Env tab. Click here to add an environment variableFigure C).
Figure C
For our first environment variable, we’re going to set the root password with the MYSQL_ROOT_PASSWORD key and set the value to a strong/unique password. Click on Add an environment variable. This will set the MYSQL_DATABASE to a value that gives the database a name, such as trtestdb. Add another environment variable using the key MYSQL_USER. Set this value to something similar to trtestuser. Add another environment variable with the key MYSQL_PASSWORD and a value that has a strong/unique password.
The complete list should look something similar to the one in Figure D.
Figure D
Once you’ve filled out the key-value pairs, scroll back up and click Deploy the Container. The deployment should happen fairly quickly, and you’ll wind up with a running instance of MySQL that has all of your custom environment variables assigned. Click on the container to scroll down and view all variables (Figure E).
Figure E
Docker developers, this is how to apply environment variables within the Portainer web GUI.
Subscribe to TechRepublic’s How to make YouTube tech workJack Wallen provides the latest tech advice to business pros.