Skip to content

1.18.0-rc2

Pre-release
Pre-release
Compare
Choose a tag to compare
@shin- shin- released this 09 Dec 00:13

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.18.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 compatibility matrix

Compose file format Docker Engine
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+

Changes

New features

Compose file version 3.5

  • Introduced version 3.5 of the docker-compose.yml specification.
    This version requires to be used with Docker Engine 17.06.0 or above

  • Added support for the shm_size parameter in build configurations

  • Added support for the isolation parameter in service definitions

  • Added support for custom names for network, secret and config definitions

Compose file version 2.3

  • Added support for extra_hosts in build configuration

  • Added support for the long syntax for volume entries, as previously
    introduced in the 3.2 format. Note that using this syntax will create
    mounts instead of volumes.

Compose file version 2.1 and up

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

  • Added support for custom names for network definitions (2.x only)

All formats

  • Values interpolated from the environment will now be converted to the
    proper type when used in non-string fields.

  • Added support for --label in docker-compose run

  • Added support for --timeout in docker-compose down

  • Added support for --memory in docker-compose build

  • Setting stop_grace_period in service definitions now also sets the
    container's stop_timeout

Bugfixes

  • Fixed an issue where Compose was still handling service hostname according
    to legacy engine behavior, causing hostnames containing dots to be cut up

  • Fixed a bug where the X-Y:Z syntax for ports was considered invalid
    by Compose

  • Fixed an issue with CLI logging causing duplicate messages and inelegant
    output to occur

  • Fixed a bug where the valid ${VAR:-} syntax would cause Compose to
    error out

  • Fixed a bug where env_file entries using an UTF-8 BOM were being read
    incorrectly

  • Fixed a bug where missing secret files would generate an empty directory
    in their place

  • Added validation for the test field in healthchecks

  • Added validation for the subnet field in IPAM configurations

  • Added validation for volumes properties when using the long syntax in
    service definitions

  • The CLI now explicit prevents using -d and --timeout together
    in docker-compose up

Thanks to @garribas, @DrewRomanyk, @summergirl21, @AlexeyRokhin, @smiller123, @andyneff, @reutsharabani, @NikitaVlaznev, @mtsmfm, @jbarciauskas, @edsrzf and @albers for contributing to this release!

Integrity check

SHA-256 sum Binary name
75524159716f6f3bb497bffa8dfabc0434a05791464b5a152e1f91df228fb42a docker-compose-Darwin-x86_64
d0e1ba02c67d83c7d1126eed4573d8b0063b9c07cdcea513092e6236ac2119c4 docker-compose-Linux-x86_64
1ffd46e90b39f27e256496b5f7128487099ed026784dc0777ec1bd60d7ac21e4 docker-compose-Windows-x86_64.exe