Skip to content

@shin- shin- released this Apr 10, 2018 · 530 commits to master 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
3.6 18.02.0+
3.3 – 3.5 17.06.0+
3.0 – 3.2 1.13.0+
2.4 17.12.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+


New features

Compose file version 2.4

  • Introduced version 2.4 of the docker-compose.yml specification.
    This version requires Docker Engine 17.12.0 or above.

  • Added support for the platform parameter in service definitions.
    If supplied, the parameter is also used when performing build for the

Compose file version 2.2 and up

  • Added support for the cpu_rt_period and cpu_rt_runtime parameters
    in service definitions (2.x only).

Compose file version 2.1 and up

  • Added support for the cpu_period parameter in service definitions
    (2.x only).

  • Added support for the isolation parameter in service build configurations.
    Additionally, the isolation parameter is used for builds as well if no
    build.isolation parameter is defined. (2.x only)

All formats

  • Added support for the --workdir flag in docker-compose exec.

  • Added support for the --compress flag in docker-compose build.

  • docker-compose pull is now performed in parallel by default. You can
    opt out using the --no-parallel flag. The --parallel flag is now
    deprecated and will be removed in a future version.

  • Dashes and underscores in project names are no longer stripped out.

  • docker-compose build now supports the use of Dockerfile from outside
    the build context.


  • Compose now checks that the volume's configuration matches the remote
    volume, and errors out if a mismatch is detected.

  • Fixed a bug that caused Compose to raise unexpected errors when attempting
    to create several one-off containers in parallel.

  • Fixed a bug with argument parsing when using docker-machine config to
    generate TLS flags for exec and run commands.

  • Fixed a bug where variable substitution with an empty default value
    (e.g. ${VAR:-}) would print an incorrect warning.

  • Improved resilience when encoding of the Compose file doesn't match the
    system's. Users are encouraged to use UTF-8 when possible.

  • Fixed a bug where external overlay networks in Swarm would be incorrectly
    recognized as inexistent by Compose, interrupting otherwise valid

Thanks to @mnottale, @g0t4, @dnephin, @dakotahawkins, @brainlock and @albers for contributing to this release!

Integrity check

SHA-256 sum Binary name
6cadd64afbd1606e1517b91df591a0104c882a2343865aaa9c7ad9dcae81faf5 docker-compose-Darwin-x86_64
af639f5e9ca229442c8738135b5015450d56e2c1ae07c0aaa93b7da9fe09c2b0 docker-compose-Linux-x86_64
f0d52f0323727a9a6a68fa2739bf3c033e64a2d18437d7b31766d7e2e034131e docker-compose-Windows-x86_64.exe
Assets 9
You can’t perform that action at this time.