什么是 docker-compose -f?
在使用 Docker Compose 时,默认会读取当前目录下的 docker-compose.yml 文件。
但很多时候我们需要使用不同的配置文件(如开发、测试、生产环境),这时就可以通过 -f 参数来指定自定义的 Compose 文件。
基本语法
docker-compose -f <自定义文件路径> up
例如:
docker-compose -f docker-compose.dev.yml up -d
多文件组合使用
你还可以同时指定多个文件,Docker Compose 会将它们合并(后指定的会覆盖前者的配置):
docker-compose -f base.yml -f override.yml up
这种模式非常适合实现“基础配置 + 环境覆盖”的架构。
常见应用场景
- 区分开发、测试、生产环境的配置
- 模块化服务定义(如数据库、前端、后端分别定义)
- 临时调试使用不同网络或卷配置
注意事项
- 若未指定
-f,默认只加载docker-compose.yml(或docker-compose.yaml) - 多个
-f参数的顺序很重要,后面的会覆盖前面的同名配置项 - 建议配合
.env文件和变量替换提升灵活性