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.20.0-rc2/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 |
|---|---|
| 3.6 | 18.02.0+ |
| 3.3 – 3.5 | 17.06.0+ |
| 3.0 – 3.2 | 1.13.0+ |
| 2.3 | 17.06.0+ |
| 2.2 | 1.13.0+ |
| 2.1 | 1.12.0+ |
| 2.0 | 1.10.0+ |
| 1.0 | 1.9.1+ |
Introduced version 3.6 of the docker-compose.yml specification.
This version requires to be used with Docker Engine 18.02.0 or above.
Added support for the tmpfs.size property in volume mappings
--build-arg option can now be used without specifying a service
in docker-compose buildAdded support for device_cgroup_rules in service definitions
Added support for the tmpfs.size property in long-form volume mappings
The --build-arg option can now be used without specifying a service
in docker-compose build
Added a --log-level option to the top-level docker-compose command.
Accepted values are debug, info, warning, error, critical.
Default log level is info
docker-compose run now allows users to unset the container's entrypoint
Proxy configuration found in the ~/.docker/config.json file now populates
environment and build args for containers created by Compose
Added the --use-aliases flag to docker-compose run, indicating that
network aliases declared in the service's config should be used for the
running container
Added the --include-deps flag to docker-compose pull
docker-compose run now kills and removes the running container upon
receiving SIGHUP
docker-compose ps now shows the containers' health status if available
Added the long-form --detach option to the exec, run and up
commands
Fixed .dockerignore handling, notably with regard to absolute paths
and last-line precedence rules
Fixed an issue where Compose would make costly DNS lookups when connecting to the Engine when using Docker For Mac
Fixed a bug introduced in 1.19.0 which caused the default certificate path to not be honored by Compose
Fixed a bug where Compose would incorrectly check whether a symlink's destination was accessible when part of a build context
Fixed a bug where .dockerignore files containing lines of whitespace
caused Compose to error out on Windows
Fixed a bug where --tls* and --host options wouldn't be properly honored
for interactive run and exec commands
A seccomp:<filepath> entry in the security_opt config now correctly
sends the contents of the file to the engine
ANSI output for up and down operations should no longer affect the wrong
lines
Improved support for non-unicode locales
Fixed a crash occurring on Windows when the user's home directory name contained non-ASCII characters
Fixed a bug occurring during builds caused by files with a negative mtime
values in the build context
Thanks to @mnottale, @mefyl, @albers, @pantuza, @kcboschert, @jsdalton, @ghsatpute, @geigerzaehler, @garribas, @dihmuzikien, @d2s, @briandealwis and @artagnon for contributing to this release!
| SHA-256 sum | Binary name |
|---|---|
069f4078e37e7703353f7f8fe77216f7433654f3f7890cc702058693fb9502e3 | docker-compose-Darwin-x86_64 |
3d59b1ce1ecee52e200bd375c6d0309f42ed59dc7bdac1658d67ff088c04cf7d | docker-compose-Linux-x86_64 |
221561892c2153648466de5f647fefcceeb78188e7bc71a52ec0999f8acc50d9 | docker-compose-Windows-x86_64.exe |
Fetched March 31, 2026