If you're a Mac or Windows user, the best way to install Compose and keep it up-to-date is Docker for Mac and Windows.
Docker for Mac and Windows will automatically install the latest version of Docker Engine for you.
Alternatively, you can use the usual commands to install or upgrade Compose:
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
See the install docs for more install options and instructions.
| Compose file format | Docker Engine |
|---|---|
| 1 | 1.9.0+ |
| 2.0 | 1.10.0+ |
| 2.1 | 1.12.0+ |
| 2.2, 3.0, 3.1, 3.2 | 1.13.0+ |
| 2.3, 3.3, 3.4, 3.5 | 17.06.0+ |
| 2.4 | 17.12.0+ |
| 3.6 | 18.02.0+ |
| 3.7 | 18.06.0+ |
Introduced version 3.7 of the docker-compose.yml specification.
This version requires Docker Engine 18.06.0 or above.
Added support for rollback_config in the deploy configuration
Added support for the init parameter in service configurations
Added support for extension fields in service, network, volume, secret, and config configurations
Fixed a bug that prevented deployment with some Compose files when
DOCKER_DEFAULT_PLATFORM was set
Compose will no longer try to create containers or volumes with invalid starting characters
Fixed several bugs that prevented Compose commands from working properly with containers created with an older version of Compose
Fixed an issue with the output of docker-compose config with the
--compatibility-mode flag enabled when the source file contains
attachable networks
Fixed a bug that prevented the gcloud credential store from working
properly when used with the Compose binary on UNIX
Fixed a bug that caused connection errors when trying to operate over a non-HTTPS TCP connection on Windows
Fixed a bug that caused builds to fail on Windows if the Dockerfile was located in a subdirectory of the build context
Fixed an issue that prevented proper parsing of UTF-8 BOM encoded Compose files on Windows
Fixed an issue with handling of the double-wildcard (**) pattern in .dockerignore files when using docker-compose build
Fixed a bug that caused auth values in legacy .dockercfg files to be ignored
docker-compose build will no longer attempt to create image names starting with an invalid character
Thanks to @albers @vdemeester, @mnottale, and @shin- for contributing to this release!
| Binary name | SHA-256 sum |
|---|---|
docker-compose-Darwin-x86_64 | 4965a4ca18a33a9987a25e167f7ecf0957b3fbeef16ff9c69fd2a5f37691992f |
docker-compose-Linux-x86_64 | f679a24b93f291c3bffaff340467494f388c0c251649d640e661d509db9d57e9 |
docker-compose-Windows-x86_64.exe | e22746289e9e700723b38f6b94cc164cbb04e416213eb751edc853786d84b91f |
Fetched March 31, 2026