文件中使用环境变量来控制不同的条件和使用场景。本文集中介绍 docker compose 引用环境变量的方式。
名称为 COMPOSE_PROJECT_NAME 和 COMPOSE_FILE 等环境变量(具体支持的环境变量请参考)。比如我们可以通过这两个环境变量为 docker-compose 指定 project 的名称和配置文件:
$ export COMPOSE_PROJECT_NAME==~/projects/composecounter/docker-compose.yml
$ docker-compose -p nickproject up -d
version: image: ${IMAGETAG}
ports:
-
version: image: ${IMAGETAG:-defaultwebimage}
ports:
-
environment:
DEBUG:
$ docker run -e DEBUG=
environment:
DEBUG:
$ export DEBUG=
- web-variables.env
$ docker run --env-file=web-variables.env
# define web container ===
version: -
# define ====default version is
首先,在 docker-compose.yml 文件中直接设置的值优先级是最高的。然后是在当前 shell 中 export 的环境变量值。接下来是在环境变量文件中定义的值。再接下来是在 Dockerfile 中定义的值。最后还没有找到相关的环境变量就认为该环境变量没有被定义。
#!/bin/====
#!/bin/====.0LTS
$ source test.-compose config
$ source prod.-compose config