If you're a Mac or Windows user, the best way to install Compose and keep it up-to-date is Docker Desktop for Mac and Windows.
Docker Desktop 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.25.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+ |
Set no-colors to true if CLICOLOR env variable is set to 0
Add working dir, config files and env file in service labels
Add dependencies for ARM build
Add BuildKit support, use DOCKER_BUILDKIT=1 and COMPOSE_DOCKER_CLI_BUILD=1
Bump paramiko to 2.6.0
Add working dir, config files and env file in service labels
Add tag docker-compose:latest
Add docker-compose:<version>-alpine image/tag
Add docker-compose:<version>-debian image/tag
Bumped docker-py 4.1.0
Supports requests up to 2.22.0 version
Drops empty tag on build:cache_from
Dockerfile now generates libmusl binaries for alpine
Only pull images that can't be built
Attribute scale can now accept 0 as a value
Added --quiet build flag
Added --no-interpolate to docker-compose config
Bump OpenSSL for macOS build (1.1.0j to 1.1.1c)
Added --no-rm to build command
Added support for credential_spec
Resolve digests without pulling image
Upgrade pyyaml to 4.2b1
Lowered severity to warning if down tries to remove nonexisting image
Use improved API fields for project events when possible
Update setup.py for modern pypi/setuptools and remove pandoc dependencies
Removed Dockerfile.armhf which is no longer needed
Make container service color deterministic, remove red from chosen colors
Fix non ascii chars error. Python2 only
Format image size as decimal to be align with Docker CLI
Use Python Posix support to get tty size
Fix same file 'extends' optimization
Use python POSIX support to get tty size
Format image size as decimal to be align with Docker CLI
Fixed stdin_open
Fixed --remove-orphans when used with up --no-start
Fixed docker-compose ps --all
Fixed depends_on dependency recreation behavior
Fixed bash completion for build --memory
Fixed misleading warning concerning env vars when performing an exec command
Fixed failure check in parallel_execute_watch
Fixed race condition after pulling image
Fixed error on duplicate mount points
Fixed merge on networks section
Always connect Compose container to stdin
Fixed the presentation of failed services on 'docker-compose start' when containers are not available
Thanks to @glours, @smamessier, @ajlai, @jcsirot, @zelahi, @rumpl, @ulyssessouza for contributing to this release!
| Binary name | SHA-256 sum |
|---|---|
docker-compose-Darwin-x86_64 | eda3064d769e1e6741b5eab302c9f25a1dd5ccaf87f82cbbbb89fb8ddcede01f |
docker-compose-Linux-x86_64 | 2bdab0bbf42583b4b77ee015cf908933c78f0572a7cb949a7dd8e200e6250221 |
docker-compose-Windows-x86_64.exe | a5dde54d360de1972758bcde20f7eeee5a8d13a9a6b1921198c17616eee51f3e |
Fetched March 31, 2026