docker-compose可以使用该-f标志指定Compose配置文件的位置,我们可以提供多个-f配置文件。提供多个文件时,Compose会将它们组合为一个配置。Compose按照提供文件的顺序构建配置。后续文件将覆盖并添加到其前身。
例如,执行以下命令行:
$ docker-compose -f docker-compose.yml -f docker-compose.admin.yml run backup_db
该docker-compose.yml文件指定了webapp服务配置。
webapp:
image: examples/web
ports:
- "8000:8000"
volumes:
- "/data"
如果docker-compose.admin.yml还指定了相同的服务,则任何匹配的字段都将覆盖先前的文件。新值,添加到webapp服务配置中。
webapp:
build: .
environment:
- DEBUG=1
使用-f带-(破折号)作为文件名从中读取配置 stdin。当stdin使用配置中的所有路径是相对于当前工作目录。
该-f标志是可选的。如果未在命令行上提供此标志,则Compose遍历工作目录及其父目录,以查找 docker-compose.yml和docker-compose.override.yml文件。您必须至少提供docker-compose.yml文件。如果两个文件都位于同一目录级别,则Compose会将两个文件合并为一个配置。
docker-compose.override.yml除了docker-compose.yml文件中的值外,还应用文件中的配置。