0%

docker-compose引用环境变量

Compose CLI环境变量

可以使用环境变量来配置Docker Compose CLI。例如COMPOSE_PROJECT_NAMECOMPOSE_FILE等。 更多设置请参考

在compose files中引用环境变量

我们可以在compose file中直接引用环境变量:

1
2
web:
image: "webapp:${TAG}"

可以通过以下两种方式设置环境变量:

  1. 创建环境变量文件,然后使用env-file选项设置:

    1
    2
    3
    $ cat .env.prod
    TAG=1.1.0
    $ docker-compose --env-file .env.prod up -d
  2. 直接在Shell环境中设置环境变量:

    1
    2
    $ export TAG=1.1.0
    $ docker-compose up -d

需要注意的是,如果没有设置环境变量,那么值将会是一个空字符串,在这种情况下,可以为该环境变量设置一个默认值:

1
2
web:
image: "webapp:${TAG:-1.1.0}"

将环境变量传递给容器

使用environment为容器设置环境变量

1
2
3
web:
environment:
- DEBUG=1

使用env_file为容器设置环境变量

1
2
3
web:
env_file:
- .env.prod