Overview
Important
Docker's documentation refers to and describes Compose V2 functionality.
Effective July 2023, Compose V1 stopped receiving updates and is no longer in new Docker Desktop releases. Compose V2 has replaced it and is now integrated into all current Docker Desktop versions. For more information, see Migrate to Compose V2.
This section contains information on the ways you can work with multiple Compose files.
Using multiple Compose files lets you customize a Compose application for different environments or workflows. This is useful for large applications that may use dozens of containers, with ownership distributed across multiple teams. For example, if your organization or team uses a monorepo, each team may have their own “local” Compose file to run a subset of the application. They then need to rely on other teams to provide a reference Compose file that defines the expected way to run their own subset. Complexity moves from the code in to the infrastructure and the configuration file.
The quickest way to work with multiple Compose files is to
merge Compose files using the -f
flag in the command line to list out your desired Compose files. However,
merging rules means this can soon get quite complicated.
Docker Compose provides two other options to manage this complexity when working with multiple Compose files. Depending on your project's needs, you can:
- Extend a Compose file by referring to another Compose file and selecting the bits you want to use in your own application, with the ability to override some attributes.
- Include other Compose files directly in your Compose file.