什么是 docker compose -f?
docker compose -f 是 Docker Compose 中用于指定自定义 Compose 文件的命令选项。
默认情况下,Docker Compose 会读取当前目录下的 docker-compose.yml 文件,
但通过 -f(或 --file)参数,你可以加载任意命名或路径的 YAML 文件。
基本语法
docker compose -f <文件路径> up
例如:
docker compose -f production.yml up -d
使用多个配置文件
你可以多次使用 -f 参数来合并多个 Compose 文件。
后面的文件会覆盖前面文件中相同的服务、网络或卷定义。
docker compose -f base.yml -f override.yml up
这在开发/测试/生产等不同环境中非常实用。
典型应用场景
- 区分开发与生产环境配置
- 模块化服务定义(如数据库、前端、后端拆分为多个文件)
- 临时覆盖某些配置(如调试模式、资源限制等)
注意事项
- 文件顺序很重要:后面的文件会覆盖前面的同名配置项。
- 所有文件必须符合 Compose 规范(YAML 格式)。
- 相对路径基于当前工作目录解析。