如何使用docker-compose config校验多个docker-compose.yml配置文件
问题原因与解决方法
docker-compose的config子命令完全支持传入多份配置文件,你遇到的问题是参数位置错误导致的:
核心规则
-f/--file 是docker-compose的全局参数,必须放在config等子命令的前面,不能放在子命令之后。你之前执行的docker-compose config -f dc.dev.yml将-f放在了子命令后面,属于无效参数,程序只会默认加载当前目录下的docker-compose.yml,因此只输出了基础配置的内容。
正确命令
和你启动服务的参数逻辑一致,将所有配置文件的声明放在config前面即可:
docker-compose -f dc.yml -f dc.dev.yml config
执行后会自动合并两份配置的内容,后加载的dc.dev.yml会覆盖前一份配置中的同名字段,同时自动注入.env文件的变量,最终输出的api服务environment会正确显示ENV_VARIABLE=some_new_value。
内容的提问来源于stack exchange,提问作者Jan
相关产品推荐
相关产品推荐

