【发布时间】:2021-08-18 14:14:34
【问题描述】:
我正在使用 docker-compose.yml 文件版本 3.x (3.9) 并使用 .env 文件将变量解析为 docker-compose.yml。
Docker 说我可以使用docker config 来查看配置的使用情况。 (这里:https://docs.docker.com/engine/reference/commandline/config/)
为了创建我的开发环境,我使用了两个文件 dc.yml 和 dc.dev.yml,其中 dc.dev.yml 添加了一些环境变量。
.env
A_NEW_VARIABLE=some_new_value
dc.yml
services:
api:
build: .
environment:
- ENV_VARIABLE=old_test
dc.dev.yml
services:
api:
build: .
environment:
- ENV_VARIABLE=${A_NEW_VARIABLE}
我经常和
docker-compose up --file docker-compose.yml --file docker-compose.dev.yml
或
docker-compose up -f ./docker-compose.yml -f ./docker-compose.dev.yml
但是当我尝试使用 docker-compose config 测试我的配置时,只会获取 dc.yml,结果仍然是:
services:
api:
build: .
environment:
- ENV_VARIABLE=old_test # <-- This Value should come from dc.dev.yml
我尝试将文件解析为docker-compose config -f dc.dev.yml
这似乎是不可能的。我说的对吗?
【问题讨论】:
-
docker-compose -f dc.dev.yml config,先 -f 然后配置 -
成功了!请写一个答案,所以我可以接受。谢谢
标签: docker-compose dotenv