什么是 docker-compose -f 参数?
在使用 docker-compose 命令时,默认会读取当前目录下的 docker-compose.yml(或 docker-compose.yaml)文件。
但很多时候我们需要使用不同的配置文件,比如开发、测试、生产环境分别对应不同的 compose 文件。
这时就可以使用 -f(或 --file)参数来显式指定要使用的配置文件。
基本语法
docker-compose -f <文件路径> <命令>
例如:
docker-compose -f docker-compose.dev.yml up -d
多文件组合使用
docker-compose 支持同时指定多个配置文件,后面的文件会覆盖前面文件中相同的服务配置。
docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d
这是官方推荐的“基础 + 覆盖”模式,常用于本地开发环境定制。
常见使用场景
- 区分开发、测试、生产环境(如
docker-compose.prod.yml) - 为不同团队成员提供个性化配置
- 临时调试时使用简化版配置
- CI/CD 流水线中动态选择配置
注意事项
- 若未指定
-f,默认按顺序查找:docker-compose.yml→docker-compose.yaml - 多个
-f参数的顺序很重要,后定义的会覆盖先定义的同名服务 - 相对路径基于执行命令时的当前工作目录