Container Env Vars
Prerequisites
- You've run applications in Docker and have experience building Docker images.
Service Tokens
Accessing your secrets in production or CI/CD environments requires a Service Token to provide read-only access to a specific config. It's exposed to the CLI via the DOPPLER_TOKEN
environment variable which should be provided by your CI/CD environment, e.g. GitHub Secret.
Installation
Alternatively, the Doppler CLI can be used to supply environment variables to the container using the docker run --env-file
flag combined with doppler secrets download
.
This method requires a bash shell (for process substitution) and the Doppler CLI to be installed in the environment running the container. Using the alpine
image as an example:
docker run --rm --env-file <(doppler secrets download --no-file --format docker) alpine printenv
You should now see your secrets output amongst the other container environment variables.
Docker does not support multi-line secrets when using the
--env-file
option so Doppler's--format docker
flag flattens multi-line secrets by escaping newlines. These can then be converted back to their original form in your application code by replacing the escaped newlines with newlines (replace\\n
with\n
).
Amazing Work!
Your secrets in Doppler are now ready to be used in your Docker containers.
Updated over 2 years ago