docker-compose override 不考虑额外的 yml 吗?

mem*_*und 2 docker docker-compose

docker-compose.yml:

version: '3.7'
services:
  db:
    image: mysql:8.0
Run Code Online (Sandbox Code Playgroud)

docker-compose.test.yml:

version: '3.7'
services:
  db:
    ports:
      - 3306:3306
Run Code Online (Sandbox Code Playgroud)

docker-compose config显示端口。为什么?我正在尝试显示有效的撰写文件,意思是:. 也使用的合并结果docker-compose up

docker-compose 版本 1.25.0

lar*_*sks 7

根据文档,docker-compose只会自动查找名为docker-compose.yml和 的文件docker-compose.override.yml

默认情况下,Compose 读取两个文件:一个文件docker-compose.yml和一个可选docker-compose.override.yml文件。按照惯例,其中docker-compose.yml包含您的基本配置。顾名思义,覆盖文件可以包含现有服务或全新服务的配置覆盖。

如果您想使用其他撰写文件,则需要使用以下方式显式指定它们-f <filename>

docker-compose up -f docker-compose.yml -f docker-compose.test.yml
Run Code Online (Sandbox Code Playgroud)

  • 我在上面链接的[文档](https://docs.docker.com/compose/extends/)中找不到任何提及“docker-compose.override.yml”的内容,但它记录在[compose CLI中参考](https://docs.docker.com/compose/reference/#specifying-multiple-compose-files) (2认同)