The 12 Factor way, is a general guideline that provides best practices when building applications. One of them is using environment variables to store application configuration.
What will we be doing:
In this post we will build a simple docker application that returns the environment variable's value to standard out. We are using environment substitution, so if the environment variable is not provided, we will set a default value of NOT_DEFINED
.
We will have the environment variable OWNER
and when no value is set for that Environment Variable, the NOT_DEFINED
value will be returned.
The Dockerfile
Our Dockerfile:
FROM alpine:edge
ENV OWNER=${OWNER:-NOT_DEFINED}
CMD ["sh", "-c", "echo env var: ${OWNER}"]
Building the image:
$ docker build -t test:envs .
Putting it to action:
Now we will run a container and pass the OWNER
environment variable as an option:
$ docker run -it -e OWNER=ruan test:envs .
env var: ruan
When we run a container without specifying the environment variable:
$ docker run -it ruan:test
env var: NOT_DEFINED
Resources:
Comments