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.23.0-rc1/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 compatibility matrix
|Compose file format||Docker Engine|
|2.2, 3.0, 3.1, 3.2||1.13.0+|
|2.3, 3.3, 3.4, 3.5||17.06.0+|
The default naming scheme for containers created by Compose in this version
has changed from
<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
--hashoption to the
docker-compose configcommand, allowing users
to print a hash string for each service's configuration to facilitate rolling
Output for the
pullcommand 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
runcommands for the same service will no longer fail due to name
Fixed an issue where paths longer than 260 characters on Windows clients would
docker-compose buildto fail.
Fixed a bug where attempting to mount
Docker Desktop for Windows would result in failure.
--project-directoryoption is now used by Compose to determine where to
look for the
docker-compose buildno longer fails when attempting to pull an image with
credentials provided by the gcloud credential helper.
docker-compose upto 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: falseentries in the Compose file to be
external: truein the output of
zshcompletion 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!
|Binary name||SHA-256 sum|