Declare default environment variables in file
Estimated reading time: 1 minuteCompose supports declaring default environment variables in an environment file
named .env
placed in the folder where the docker-compose
command is executed
(current working directory).
Syntax rules
These syntax rules apply to the .env
file:
- Compose expects each line in an
env
file to be inVAR=VAL
format. - Lines beginning with
#
are processed as comments and ignored. - Blank lines are ignored.
- There is no special handling of quotation marks. This means that they are part of the VAL.
Compose file and CLI variables
The environment variables you define here are used for variable substitution in your Compose file, and can also be used to define the following CLI variables:
COMPOSE_API_VERSION
COMPOSE_CONVERT_WINDOWS_PATHS
COMPOSE_FILE
COMPOSE_HTTP_TIMEOUT
COMPOSE_TLS_VERSION
COMPOSE_PROJECT_NAME
DOCKER_CERT_PATH
DOCKER_HOST
DOCKER_TLS_VERIFY
Notes
- Values present in the environment at runtime always override those defined inside the
.env
file. Similarly, values passed via command-line arguments take precedence as well.- Environment variables defined in the
.env
file are not automatically visible inside containers. To set container-applicable environment variables, follow the guidelines in the topic Environment variables in Compose, which describes how to pass shell environment variables through to containers, define environment variables in Compose files, and more.