docker-compose未合并额外yml配置,config不显示端口原因咨询
Docker Compose 额外配置未合并生效的原因及解决方法
问题原因
Docker Compose 默认只会自动加载并合并 docker-compose.yml 和 docker-compose.override.yml 这两个配置文件。你自定义的 docker-compose.test.yml 不属于默认加载的文件列表,因此单独执行 docker-compose config 或 docker-compose up 时,不会自动合并该文件的配置。
解决方法
1. 显式指定配置文件查看合并结果
执行 docker-compose config 时,需要通过 -f 参数依次指定所有要合并的配置文件:
docker-compose -f docker-compose.yml -f docker-compose.test.yml config
执行后就能看到包含端口配置的合并结果。
2. 启动服务时加载指定配置文件
要让 docker-compose up 应用合并后的配置,同样需要显式指定配置文件:
docker-compose -f docker-compose.yml -f docker-compose.test.yml up
3. 利用默认 override 文件简化操作
如果希望无需每次指定 -f 参数,可以将 docker-compose.test.yml 重命名为 docker-compose.override.yml。之后执行 docker-compose config 或 docker-compose up,Compose 会自动合并这两个文件的配置。
内容的提问来源于stack exchange,提问作者membersound
相关产品推荐
相关产品推荐

