Skip to content


Choose a tag to compare
@shin- shin- released this 26 Sep 22:29
· 545 commits to release since this release

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`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 compatibility matrix

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+


Important note

The default naming scheme for containers created by Compose in this version
has changed from <project>_<service>_<index> to
<project>_<service>_<index>_<slug>, where <slug> is a randomly-generated
hexadecimal string. Please make sure to update scripts relying on the old
naming scheme accordingly before upgrading.


  • Logs for containers restarting after a crash will now appear in the output
    of the up and logs commands.

  • Added --hash option to the docker-compose config command, allowing users
    to print a hash string for each service's configuration to facilitate rolling

  • Output for the pull command now reports status / progress even when pulling
    multiple images in parallel.

  • For images with multiple names, Compose will now attempt to match the one
    present in the service configuration in the output of the images command.


  • Parallel run commands for the same service will no longer fail due to name

  • Fixed an issue where paths longer than 260 characters on Windows clients would
    cause docker-compose build to fail.

  • Fixed a bug where attempting to mount /var/run/docker.sock with
    Docker Desktop for Windows would result in failure.

  • The --project-directory option is now used by Compose to determine where to
    look for the .env file.

  • docker-compose build no longer fails when attempting to pull an image with
    credentials provided by the gcloud credential helper.

  • Fixed the --exit-code-from option in docker-compose up to always report
    the actual exit code even when the watched container isn't the cause of the

  • Fixed a bug that caused hash configuration with multiple networks to be
    inconsistent, causing some services to be unnecessarily restarted.

  • Fixed a pipe handling issue when using the containerized version of Compose.

  • Fixed a bug causing external: false entries in the Compose file to be
    printed as external: true in the output of docker-compose config


  • The zsh completion script has been updated with new options, and no
    longer suggests container names where service names are expected.

Thanks to @nickhiggs, @ofek, @chris-crone, @glorpen, @graphaelli, @wfender, @deivid-rodriguez, @jrbenito, @mirake, @tossmilestone, @riverzhang, @maxwellb, @bhuisgen, @shin- for contributing to this release!

Integrity check

Binary name SHA-256 sum
docker-compose-Darwin-x86_64 1f332c45a39c24c62161f219e8a21bc1bcd11daf7f1c832f2a48c3e57679a938
docker-compose-Linux-x86_64 fd16840ca6fdd3a1be2e12bc94d4e768dd819a66b954f41b10d032597746aea6
docker-compose-Windows-x86_64.exe 4b2db3b88eccbacdb6150d209dabc83d9ec4ee0c57fdd5ab527a9c7fa1b38484