releases.shpreview
Docker/Docker Compose

Docker Compose

$npx -y @buildinternet/releases show docker-compose
Mon
Wed
Fri
AprMayJunJulAugSepOctNovDecJanFebMarApr
Less
More
Releases5Avg2/moVersionsv5.0.2 → v5.1.3
Jul 5, 2018

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.22.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 formatDocker Engine
11.9.0+
2.01.10.0+
2.11.12.0+
2.2, 3.0, 3.1, 3.21.13.0+
2.3, 3.3, 3.4, 3.517.06.0+
2.417.12.0+
3.618.02.0+
3.718.06.0+

Changes

Features

Compose format version 3.7

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

  • Added support for rollback_config in the deploy configuration

  • Added support for the init parameter in service configurations

  • Added support for extension fields in service, network, volume, secret, and config configurations

Compose format version 2.4

  • Added support for extension fields in service, network, and volume configurations

Bugfixes

  • Fixed a bug that prevented deployment with some Compose files when DOCKER_DEFAULT_PLATFORM was set

  • Compose will no longer try to create containers or volumes with invalid starting characters

  • Fixed several bugs that prevented Compose commands from working properly with containers created with an older version of Compose

  • Fixed an issue with the output of docker-compose config with the --compatibility-mode flag enabled when the source file contains attachable networks

  • Fixed a bug that prevented the gcloud credential store from working properly when used with the Compose binary on UNIX

  • Fixed a bug that caused connection errors when trying to operate over a non-HTTPS TCP connection on Windows

  • Fixed a bug that caused builds to fail on Windows if the Dockerfile was located in a subdirectory of the build context

  • Fixed an issue that prevented proper parsing of UTF-8 BOM encoded Compose files on Windows

  • Fixed an issue with handling of the double-wildcard (**) pattern in .dockerignore files when using docker-compose build

  • Fixed a bug that caused auth values in legacy .dockercfg files to be ignored

  • docker-compose build will no longer attempt to create image names starting with an invalid character

Thanks to @mnottale, @shin- for contributing to this release!

Integrity check

Binary nameSHA-256 sum
docker-compose-Darwin-x86_646e36be6668714fdef1f65c5165de08314f6c1429285cb46b42242a4dab9a0844
docker-compose-Linux-x86_6442fc1ca4af68c7b9484c7dbc331d06874318dedcf1db1335aa99b27cf7130bfb
docker-compose-Windows-x86_64.exea84788e3cbc469f313693e529739d63fdf4a110183fb35d9b5b0343d06b6f785
Jun 21, 2018

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.22.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 formatDocker Engine
11.9.0+
2.01.10.0+
2.11.12.0+
2.2, 3.0, 3.1, 3.21.13.0+
2.3, 3.3, 3.4, 3.517.06.0+
2.417.12.0+
3.618.02.0+
3.718.06.0+

Changes

Features

Compose format version 3.7

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

  • Added support for rollback_config in the deploy configuration

  • Added support for the init parameter in service configurations

  • Added support for extension fields in service, network, volume, secret, and config configurations

Compose format version 2.4

  • Added support for extension fields in service, network, and volume configurations

Bugfixes

  • Fixed a bug that prevented deployment with some Compose files when DOCKER_DEFAULT_PLATFORM was set

  • Compose will no longer try to create containers or volumes with invalid starting characters

  • Fixed several bugs that prevented Compose commands from working properly with containers created with an older version of Compose

  • Fixed an issue with the output of docker-compose config with the --compatibility-mode flag enabled when the source file contains attachable networks

  • Fixed a bug that prevented the gcloud credential store from working properly when used with the Compose binary on UNIX

  • Fixed a bug that caused connection errors when trying to operate over a non-HTTPS TCP connection on Windows

  • Fixed a bug that caused builds to fail on Windows if the Dockerfile was located in a subdirectory of the build context

  • Fixed an issue that prevented proper parsing of UTF-8 BOM encoded Compose files on Windows

Thanks to @albers, @vdemeester, @shin- for contributing to this release!

Integrity check

Binary nameSHA-256 sum
docker-compose-Darwin-x86_64c1daeb11b5198bdac81f3b366f5664314d397e706cee65a8909455a3f849a27b
docker-compose-Linux-x86_645f1222d48c5fe9001723fc42ed48d7b3a0bbd903a02145ac6a731ff42a32122b
docker-compose-Windows-x86_64.exe28720d448f7f99c87797dca9388d1a83d3116f6fb9cbd247e69ec45f3a50f6f6
May 2, 2018

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.21.2/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 formatDocker Engine
11.9.0+
2.01.10.0+
2.11.12.0+
2.2, 3.0, 3.1, 3.21.13.0+
2.3, 3.3, 3.4, 3.517.06.0+
2.417.12.0+
3.618.02.0+

Changes

Bugfixes

  • Fixed a bug where the ip_range attirbute in IPAM configs was prevented from passing validation

Integrity check

Binary nameSHA-256 sum
docker-compose-Darwin-x86_64cbbb44bcd14af1c57104099b802898b2bbc359ae06b543bfb9bb6d95302026e2
docker-compose-Linux-x86_648a11713e11ed73abcb3feb88cd8b5674b3320ba33b22b2ba37915b4ecffdf042
docker-compose-Windows-x86_64.exe6f515b821fcbb3e07fdab8ce6da74b9e77ab743ae141d4670280fd26f95af7ef
Apr 27, 2018

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.21.1/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 formatDocker Engine
11.9.0+
2.01.10.0+
2.11.12.0+
2.2, 3.0, 3.1, 3.21.13.0+
2.3, 3.3, 3.4, 3.517.06.0+
2.417.12.0+
3.618.02.0+

Changes

Bugfixes

  • In 1.21.0, we introduced a change to how project names are sanitized for internal use in resource names. This caused issues when manipulating an existing, deployed application whose name had changed as a result. This release properly detects resources using "legacy" naming conventions.

  • Fixed an issue where specifying an in-context Dockerfile using an absolute path would fail despite being valid.

  • Fixed a bug where IPAM option changes were incorrectly detected, preventing redeployments.

  • Validation of v2 files now properly checks the structure of IPAM configs.

  • Improved support for credentials stores on Windows to include binaries using extensions other than .exe. The list of valid extensions is determined by the contents of the PATHEXT environment variable.

  • Fixed a bug where Compose would generate invalid binds containing duplicate elements with some v3.2 files, triggering errors at the Engine level during deployment.

Thanks to @albers, @shin- for contributing to this release!

Integrity check

Binary nameSHA-256 sum
docker-compose-Darwin-x86_641a82ba8dd9d8c6ec2fd4a49ddc4bf765ce2d15b1b4d4ee2c357ad8a2cdc4c8a0
docker-compose-Linux-x86_6416402bfb9a52313a352f31437773242a1ccec9e4a30ccd9dc1e4477a970dc6c9
docker-compose-Windows-x86_64.exe46e06d41047c32572aec6ddb0a569f1811fc0c321795f5565452f5d31925902f
Apr 10, 2018

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

Compose file formatDocker Engine
3.618.02.0+
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.417.12.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

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 service.

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.

Bugfixes

  • 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 operations.

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

Integrity check

SHA-256 sumBinary name
6cadd64afbd1606e1517b91df591a0104c882a2343865aaa9c7ad9dcae81faf5docker-compose-Darwin-x86_64
af639f5e9ca229442c8738135b5015450d56e2c1ae07c0aaa93b7da9fe09c2b0docker-compose-Linux-x86_64
f0d52f0323727a9a6a68fa2739bf3c033e64a2d18437d7b31766d7e2e034131edocker-compose-Windows-x86_64.exe
Apr 2, 2018

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.21.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 formatDocker Engine
3.618.02.0+
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.417.12.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

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 service.

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.

Bugfixes

  • 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 operations.

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

Integrity check

SHA-256 sumBinary name
82c690090293a721b6c84dcdc08c13256cca1816fa4a6c2f1676418bae71d3cbdocker-compose-Darwin-x86_64
db6990617d550aa7126217bb00f3041da58ef1eeeb5d902a8833fea07b66490adocker-compose-Linux-x86_64
4e3bacebc8922a3ad09156473bb3d82c10faa56264ad3b1c0a4893460b347c4ddocker-compose-Windows-x86_64.exe
Mar 21, 2018

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.20.1/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 formatDocker Engine
3.618.02.0+
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

Bugfixes

  • Fixed an issue where docker-compose build would error out if the build context contained directory symlinks

Integrity check

SHA-256 sumBinary name
4a7a03b6184558f1efe962b47dbc489412ce5de4c420a3e116aaae6e03a140d3docker-compose-Darwin-x86_64
11a6923c2a589b946598fe205c8f645e57f3f4ee153d3b7315b7e1993c1b2ad1docker-compose-Linux-x86_64
ac40acdfa6283aabc1ca4b57ce8d0241fbe1f71409714ce0f357d1ea7624496ddocker-compose-Windows-x86_64.exe
Mar 20, 2018

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

Compose file formatDocker Engine
3.618.02.0+
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

New features

Compose file version 3.6

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

  • Added support for the tmpfs.size property in volume mappings

Compose file version 3.2 and up

  • The --build-arg option can now be used without specifying a service in docker-compose build

Compose file version 2.3

  • Added support for device_cgroup_rules in service definitions

  • Added support for the tmpfs.size property in long-form volume mappings

  • The --build-arg option can now be used without specifying a service in docker-compose build

All formats

  • Added a --log-level option to the top-level docker-compose command. Accepted values are debug, info, warning, error, critical. Default log level is info

  • docker-compose run now allows users to unset the container's entrypoint

  • Proxy configuration found in the ~/.docker/config.json file now populates environment and build args for containers created by Compose

  • Added the --use-aliases flag to docker-compose run, indicating that network aliases declared in the service's config should be used for the running container

  • Added the --include-deps flag to docker-compose pull

  • docker-compose run now kills and removes the running container upon receiving SIGHUP

  • docker-compose ps now shows the containers' health status if available

  • Added the long-form --detach option to the exec, run and up commands

Bugfixes

  • Fixed .dockerignore handling, notably with regard to absolute paths and last-line precedence rules

  • Fixed an issue where Compose would make costly DNS lookups when connecting to the Engine when using Docker For Mac

  • Fixed a bug introduced in 1.19.0 which caused the default certificate path to not be honored by Compose

  • Fixed a bug where Compose would incorrectly check whether a symlink's destination was accessible when part of a build context

  • Fixed a bug where .dockerignore files containing lines of whitespace caused Compose to error out on Windows

  • Fixed a bug where --tls* and --host options wouldn't be properly honored for interactive run and exec commands

  • A seccomp:<filepath> entry in the security_opt config now correctly sends the contents of the file to the engine

  • ANSI output for up and down operations should no longer affect the wrong lines

  • Improved support for non-unicode locales

  • Fixed a crash occurring on Windows when the user's home directory name contained non-ASCII characters

  • Fixed a bug occurring during builds caused by files with a negative mtime values in the build context

Thanks to @mnottale, @mefyl, @albers, @pantuza, @kcboschert, @jsdalton, @ghsatpute, @geigerzaehler, @garribas, @dihmuzikien, @d2s, @briandealwis and @artagnon for contributing to this release!

Integrity check

SHA-256 sum | Binary name 500f9ab56a76af04d9cd2ed1b953f8b663a9a212b9955d44536743e9200bcbd4 | docker-compose-Darwin-x86_64 3099f4087251c06e8d693877adb571365fcdf0819eeaa6ed37097978d2c50e83 | docker-compose-Linux-x86_64 587b41a75271ed37dd27b482a379844a296f92bde856cfad9068c17864c37393 | docker-compose-Windows-x86_64.exe

Mar 12, 2018

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.20.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 formatDocker Engine
3.618.02.0+
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

New features

Compose file version 3.6

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

  • Added support for the tmpfs.size property in volume mappings

Compose file version 3.2 and up

  • The --build-arg option can now be used without specifying a service in docker-compose build

Compose file version 2.3

  • Added support for device_cgroup_rules in service definitions

  • Added support for the tmpfs.size property in long-form volume mappings

  • The --build-arg option can now be used without specifying a service in docker-compose build

All formats

  • Added a --log-level option to the top-level docker-compose command. Accepted values are debug, info, warning, error, critical. Default log level is info

  • docker-compose run now allows users to unset the container's entrypoint

  • Proxy configuration found in the ~/.docker/config.json file now populates environment and build args for containers created by Compose

  • Added the --use-aliases flag to docker-compose run, indicating that network aliases declared in the service's config should be used for the running container

  • Added the --include-deps flag to docker-compose pull

  • docker-compose run now kills and removes the running container upon receiving SIGHUP

  • docker-compose ps now shows the containers' health status if available

  • Added the long-form --detach option to the exec, run and up commands

Bugfixes

  • Fixed .dockerignore handling, notably with regard to absolute paths and last-line precedence rules

  • Fixed an issue where Compose would make costly DNS lookups when connecting to the Engine when using Docker For Mac

  • Fixed a bug introduced in 1.19.0 which caused the default certificate path to not be honored by Compose

  • Fixed a bug where Compose would incorrectly check whether a symlink's destination was accessible when part of a build context

  • Fixed a bug where .dockerignore files containing lines of whitespace caused Compose to error out on Windows

  • Fixed a bug where --tls* and --host options wouldn't be properly honored for interactive run and exec commands

  • A seccomp:<filepath> entry in the security_opt config now correctly sends the contents of the file to the engine

  • ANSI output for up and down operations should no longer affect the wrong lines

  • Improved support for non-unicode locales

  • Fixed a crash occurring on Windows when the user's home directory name contained non-ASCII characters

  • Fixed a bug occurring during builds caused by files with a negative mtime values in the build context

Thanks to @mnottale, @mefyl, @albers, @pantuza, @kcboschert, @jsdalton, @ghsatpute, @geigerzaehler, @garribas, @dihmuzikien, @d2s, @briandealwis and @artagnon for contributing to this release!

Integrity check

SHA-256 sumBinary name
069f4078e37e7703353f7f8fe77216f7433654f3f7890cc702058693fb9502e3docker-compose-Darwin-x86_64
3d59b1ce1ecee52e200bd375c6d0309f42ed59dc7bdac1658d67ff088c04cf7ddocker-compose-Linux-x86_64
221561892c2153648466de5f647fefcceeb78188e7bc71a52ec0999f8acc50d9docker-compose-Windows-x86_64.exe
Feb 27, 2018

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.20.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 formatDocker Engine
3.618.02.0+
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

New features

Compose file version 3.6

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

  • Added support for the tmpfs.size property in volume mappings

Compose file version 3.2 and up

  • The --build-arg option can now be used without specifying a service in docker-compose build

Compose file version 2.3

  • Added support for device_cgroup_rules in service definitions

  • Added support for the tmpfs.size property in long-form volume mappings

  • The --build-arg option can now be used without specifying a service in docker-compose build

All formats

  • Added a --log-level option to the top-level docker-compose command. Accepted values are debug, info, warning, error, critical. Default log level is info

  • docker-compose run now allows users to unset the container's entrypoint

  • Proxy configuration found in the ~/.docker/config.json file now populates environment and build args for containers created by Compose

  • Added the --use-aliases flag to docker-compose run, indicating that network aliases declared in the service's config should be used for the running container

  • Added the --include-deps flag to docker-compose pull

  • docker-compose run now kills and removes the running container upon receiving SIGHUP

  • docker-compose ps now shows the containers' health status if available

  • Added the long-form --detach option to the exec, run and up commands

Bugfixes

  • Fixed .dockerignore handling, notably with regard to absolute paths and last-line precedence rules

  • Fixed a bug introduced in 1.19.0 which caused the default certificate path to not be honored by Compose

  • Fixed a bug where Compose would incorrectly check whether a symlink's destination was accessible when part of a build context

  • Fixed a bug where .dockerignore files containing lines of whitespace caused Compose to error out on Windows

  • Fixed a bug where --tls* and --host options wouldn't be properly honored for interactive run and exec commands

  • A seccomp:<filepath> entry in the security_opt config now correctly sends the contents of the file to the engine

  • Improved support for non-unicode locales

  • Fixed a crash occurring on Windows when the user's home directory name contained non-ASCII characters

  • Fixed a bug occurring during builds caused by files with a negative mtime values in the build context

Thanks to @mnottale, @mefyl, @albers, @pantuza, @kcboschert, @jsdalton, @ghsatpute, @geigerzaehler, @garribas, @dihmuzikien, @d2s, @briandealwis and @artagnon for contributing to this release!

Integrity check

SHA-256 sumBinary name
bdb0f8dec9815ba562246d398a8854d7fbd23e233cac88a6f9c58553c56e4cc4docker-compose-Darwin-x86_64
91632399be7dbb106d8eae7dff91b11df6c117738e9cf25e1ece4920aa469ac4docker-compose-Linux-x86_64
75da9357a69a64c2e4d22d3c47ac82574f371f2587a0c140ee814eb03747979bdocker-compose-Windows-x86_64.exe
Feb 7, 2018

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

Compose file formatDocker Engine
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

Breaking changes

  • On UNIX platforms, interactive run and exec commands now require the docker CLI to be installed on the client by default. To revert to the previous behavior, users may set the COMPOSE_INTERACTIVE_NO_CLI environment variable.

New features

Compose file version 3.x

  • The output of the config command should now merge deploy options from several Compose files in a more accurate manner

Compose file version 2.3

  • Added support for the runtime option in service definitions

Compose file version 2.1 and up

  • Added support for the ${VAR:?err} and ${VAR?err} variable interpolation syntax to indicate mandatory variables

Compose file version 2.x

  • Added priority key to service network mappings, allowing the user to define in which order the specified service will connect to each network

All formats

  • Added --renew-anon-volumes (shorthand -V) to the up command, preventing Compose from recovering volume data from previous containers for anonymous volumes

  • Added limit for number of simulatenous parallel operations, which should prevent accidental resource exhaustion of the server. Default is 64 and can be configured using the COMPOSE_PARALLEL_LIMIT environment variable

  • Added --always-recreate-deps flag to the up command to force recreating dependent services along with the dependency owner

  • Added COMPOSE_IGNORE_ORPHANS environment variable to forgo orphan container detection and suppress warnings

  • Added COMPOSE_FORCE_WINDOWS_HOST environment variable to force Compose to parse volume definitions as if the Docker host was a Windows system, even if Compose itself is currently running on UNIX

  • Bash completion should now be able to better differentiate between running, stopped and paused services

Bugfixes

  • Fixed a bug that would cause the build command to report a connection error when the build context contained unreadable files or FIFO objects. These file types will now be handled appropriately

  • Fixed various issues around interactive run/exec sessions.

  • Fixed a bug where setting TLS options with environment and CLI flags simultaneously would result in part of the configuration being ignored

  • Fixed a bug where the DOCKER_TLS_VERIFY environment variable was being ignored by Compose

  • Fixed a bug where the -d and --timeout flags in up were erroneously marked as incompatible

  • Fixed a bug where the recreation of a service would break if the image associated with the previous container had been removed

  • Fixed a bug where updating a mount's target would break Compose when trying to recreate the associated service

  • Fixed a bug where tmpfs volumes declared using the extended syntax in Compose files using version 3.2 would be erroneously created as anonymous volumes instead

  • Fixed a bug where type conversion errors would print a stacktrace instead of exiting gracefully

  • Fixed some errors related to unicode handling

  • Dependent services no longer get recreated along with the dependency owner if their configuration hasn't changed

  • Added better validation of labels fields in Compose files. Label values containing scalar types (number, boolean) now get automatically converted to strings

Thanks to @DrewRomanyk, @garribas, @albers, @ilinum, @zaldaroga, @Dahca, @carlwgeorge, @ashmrtn, @tvanro, @thomascrha, @Rozelette, @mtsmfm, @johnharris85 and @d2s for contributing to this release!

Integrity check

SHA-256 sumBinary name
e3c802584bf40eb3e92ac082f3d3217d940c234b80b686510ede977c90d0715edocker-compose-Darwin-x86_64
78734996d716113f9f9716d0b5064166e9475835e5000fd01b0480d19e1f7372docker-compose-Linux-x86_64
52bb70f8909c329133239621edfab470ea8c73525ea75b138b933190f8f5a0dddocker-compose-Windows-x86_64.exe
Feb 1, 2018

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.19.0-rc3/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 formatDocker Engine
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

Breaking changes

  • On UNIX platforms, interactive run and exec commands now require the docker CLI to be installed on the client by default. To revert to the previous behavior, users may set the COMPOSE_INTERACTIVE_NO_CLI environment variable.

New features

Compose file version 3.x

  • The output of the config command should now merge deploy options from several Compose files in a more accurate manner

Compose file version 2.3

  • Added support for the runtime option in service definitions

Compose file version 2.1 and up

  • Added support for the ${VAR:?err} and ${VAR?err} variable interpolation syntax to indicate mandatory variables

Compose file version 2.x

  • Added priority key to service network mappings, allowing the user to define in which order the specified service will connect to each network

All formats

  • Added --renew-anon-volumes (shorthand -V) to the up command, preventing Compose from recovering volume data from previous containers for anonymous volumes

  • Added limit for number of simulatenous parallel operations, which should prevent accidental resource exhaustion of the server. Default is 64 and can be configured using the COMPOSE_PARALLEL_LIMIT environment variable

  • Added --always-recreate-deps flag to the up command to force recreating dependent services along with the dependency owner

  • Added COMPOSE_IGNORE_ORPHANS environment variable to forgo orphan container detection and suppress warnings

  • Added COMPOSE_FORCE_WINDOWS_HOST environment variable to force Compose to parse volume definitions as if the Docker host was a Windows system, even if Compose itself is currently running on UNIX

  • Bash completion should now be able to better differentiate between running, stopped and paused services

Bugfixes

  • Fixed a bug that would cause the build command to report a connection error when the build context contained unreadable files or FIFO objects. These file types will now be handled appropriately

  • Fixed various issues around interactive run/exec sessions.

  • Fixed a bug where setting TLS options with environment and CLI flags simultaneously would result in part of the configuration being ignored

  • Fixed a bug where the DOCKER_TLS_VERIFY environment variable was being ignored by Compose

  • Fixed a bug where the -d and --timeout flags in up were erroneously marked as incompatible

  • Fixed a bug where the recreation of a service would break if the image associated with the previous container had been removed

  • Fixed a bug where updating a mount's target would break Compose when trying to recreate the associated service

  • Fixed a bug where tmpfs volumes declared using the extended syntax in Compose files using version 3.2 would be erroneously created as anonymous volumes instead

  • Fixed a bug where type conversion errors would print a stacktrace instead of exiting gracefully

  • Fixed some errors related to unicode handling

  • Dependent services no longer get recreated along with the dependency owner if their configuration hasn't changed

  • Added better validation of labels fields in Compose files. Label values containing scalar types (number, boolean) now get automatically converted to strings

Thanks to @DrewRomanyk, @garribas, @albers, @ilinum, @zaldaroga, @Dahca, @carlwgeorge, @ashmrtn, @tvanro, @thomascrha, @Rozelette, @mtsmfm and @johnharris85 for contributing to this release!

Integrity check

SHA-256 sumBinary name
7762cda0cc711171a59db8ddc53ab0aa0a8f4f901deb306a9af6b68ac67ef2d3docker-compose-Darwin-x86_64
38ce33de57287aed8b32997f0b68d15efea2f90b41ea592d2f4521d6c2af71d6docker-compose-Linux-x86_64
ed4f5ebe0066dd4c313dbf3047d4b5ff78d908f16a1965bc15895eb4c188a622docker-compose-Windows-x86_64.exe
Jan 26, 2018

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.19.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 formatDocker Engine
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

Breaking changes

  • On UNIX platforms, interactive run and exec commands now require the docker CLI to be installed on the client by default. To revert to the previous behavior, users may set the COMPOSE_INTERACTIVE_NO_CLI environment variable.

New features

Compose file version 3.x

  • The output of the config command should now merge deploy options from several Compose files in a more accurate manner

Compose file version 2.3

  • Added support for the runtime option in service definitions

Compose file version 2.1 and up

  • Added support for the ${VAR:?err} and ${VAR?err} variable interpolation syntax to indicate mandatory variables

Compose file version 2.x

  • Added priority key to service network mappings, allowing the user to define in which order the specified service will connect to each network

All formats

  • Added --renew-anon-volumes (shorthand -V) to the up command, preventing Compose from recovering volume data from previous containers for anonymous volumes

  • Added limit for number of simulatenous parallel operations, which should prevent accidental resource exhaustion of the server. Default is 64 and can be configured using the COMPOSE_PARALLEL_LIMIT environment variable

  • Added --always-recreate-deps flag to the up command to force recreating dependent services along with the dependency owner

  • Added COMPOSE_IGNORE_ORPHANS environment variable to forgo orphan container detection and suppress warnings

  • Added COMPOSE_FORCE_WINDOWS_HOST environment variable to force Compose to parse volume definitions as if the Docker host was a Windows system, even if Compose itself is currently running on UNIX

  • Bash completion should now be able to better differentiate between running, stopped and paused services

Bugfixes

  • Fixed a bug that would cause the build command to report a connection error when the build context contained unreadable files or FIFO objects. These file types will now be handled appropriately

  • Fixed various issues around interactive run/exec sessions.

  • Fixed a bug where setting TLS options with environment and CLI flags simultaneously would result in part of the configuration being ignored

  • Fixed a bug where the -d and --timeout flags in up were erroneously marked as incompatible

  • Fixed a bug where the recreation of a service would break if the image associated with the previous container had been removed

  • Fixed a bug where updating a mount's target would break Compose when trying to recreate the associated service

  • Fixed a bug where tmpfs volumes declared using the extended syntax in Compose files using version 3.2 would be erroneously created as anonymous volumes instead

  • Fixed a bug where type conversion errors would print a stacktrace instead of exiting gracefully

  • Fixed some errors related to unicode handling

  • Dependent services no longer get recreated along with the dependency owner if their configuration hasn't changed

  • Added better validation of labels fields in Compose files. Label values containing scalar types (number, boolean) now get automatically converted to strings

Thanks to @DrewRomanyk, @garribas, @albers, @ilinum, @zaldaroga, @Dahca, @carlwgeorge, @ashmrtn, @tvanro, @thomascrha, @Rozelette, @mtsmfm and @johnharris85 for contributing to this release!

Integrity check

SHA-256 sumBinary name
e1748116c25a53a336eccc570a1fd5c2c0678e6160c01fda8bbb789684d527fbdocker-compose-Darwin-x86_64
747a51307f7acf4145323e6faf022cbdfe802d89887bcdf0ce80eb606af25b43docker-compose-Linux-x86_64
5f46c14ecec637687474ee6c5a36de51f42783f5b3f41e4fb7a27f13630fc6b6docker-compose-Windows-x86_64.exe
Jan 25, 2018

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.19.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 formatDocker Engine
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

Breaking changes

  • On UNIX platforms, interactive run and exec commands now require the docker CLI to be installed on the client by default. To revert to the previous behavior, users may set the COMPOSE_INTERACTIVE_NO_CLI environment variable.

New features

Compose file version 3.x

  • The output of the config command should now merge deploy options from several Compose files in a more accurate manner

Compose file version 2.3

  • Added support for the runtime option in service definitions

Compose file version 2.1 and up

  • Added support for the ${VAR:?err} and ${VAR?err} variable interpolation syntax to indicate mandatory variables

Compose file version 2.x

  • Added priority key to service network mappings, allowing the user to define in which order the specified service will connect to each network

All formats

  • Added --renew-anon-volumes (shorthand -V) to the up command, preventing Compose from recovering volume data from previous containers for anonymous volumes

  • Added limit for number of simulatenous parallel operations, which should prevent accidental resource exhaustion of the server. Default is 64 and can be configured using the COMPOSE_PARALLEL_LIMIT environment variable

  • Added --always-recreate-deps flag to the up command to force recreating dependent services along with the dependency owner

  • Added COMPOSE_IGNORE_ORPHANS environment variable to forgo orphan container detection and suppress warnings

  • Added COMPOSE_FORCE_WINDOWS_HOST environment variable to force Compose to parse volume definitions as if the Docker host was a Windows system, even if Compose itself is currently running on UNIX

  • Bash completion should now be able to better differentiate between running, stopped and paused services

Bugfixes

  • Fixed a bug that would cause the build command to report a connection error when the build context contained unreadable files or FIFO objects. These file types will now be handled appropriately

  • Fixed various issues around interactive run/exec sessions.

  • Fixed a bug where setting TLS options with environment and CLI flags simultaneously would result in part of the configuration being ignored

  • Fixed a bug where the -d and --timeout flags in up were erroneously marked as incompatible

  • Fixed a bug where the recreation of a service would break if the image associated with the previous container had been removed

  • Fixed a bug where tmpfs volumes declared using the extended syntax in Compose files using version 3.2 would be erroneously created as anonymous volumes instead

  • Fixed a bug where type conversion errors would print a stacktrace instead of exiting gracefully

  • Fixed some errors related to unicode handling

  • Dependent services no longer get recreated along with the dependency owner if their configuration hasn't changed

  • Added better validation of labels fields in Compose files. Label values containing scalar types (number, boolean) now get automatically converted to strings

Thanks to @DrewRomanyk, @garribas, @albers, @ilinum, @zaldaroga, @Dahca, @carlwgeorge, @ashmrtn, @tvanro, @thomascrha, @Rozelette, @mtsmfm and @johnharris85 for contributing to this release!

Integrity check

SHA-256 sumBinary name
4ebaa6ef8fd182ee92169e25bb76f721f12331adefebbe44a04c58d1251fed6ddocker-compose-Darwin-x86_64
f5a5057f71f6cf44718625381346cce79806e41ad6bfe1f98e76cf4e4c861188docker-compose-Linux-x86_64
1f2dfdd2502f812034b3d87bde45afc1c768b388977925dfbc9ad87758f8a90edocker-compose-Windows-x86_64.exe
Dec 18, 2017

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/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 formatDocker Engine
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

New features

Compose file version 3.5

  • Introduced version 3.5 of the docker-compose.yml specification. This version requires 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 an issue that caused stop_grace_period to be ignored when using multiple Compose files

  • Fixed a bug that caused docker-compose images to crash when using untagged images

  • 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

  • Fixed character encoding issues in the CLI's error handlers

  • 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 sumBinary name
c8961b6751a0f809d8a22c2bd4a93fc0250dbd032f98b67380370d9288a894c0docker-compose-Darwin-x86_64
b2f2c3834107f526b1d9cc8d8e0bdd132c6f1495b036a32cbc61b5288d2e2a01docker-compose-Linux-x86_64
9c110e69aac18364f1fb10c99d26318096ebc4cf4bf5fe7931a38cac61b2eb45docker-compose-Windows-x86_64.exe
Dec 9, 2017

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 formatDocker Engine
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.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 sumBinary name
75524159716f6f3bb497bffa8dfabc0434a05791464b5a152e1f91df228fb42adocker-compose-Darwin-x86_64
d0e1ba02c67d83c7d1126eed4573d8b0063b9c07cdcea513092e6236ac2119c4docker-compose-Linux-x86_64
1ffd46e90b39f27e256496b5f7128487099ed026784dc0777ec1bd60d7ac21e4docker-compose-Windows-x86_64.exe
Dec 7, 2017

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-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 formatDocker Engine
3.3 – 3.517.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.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, secret and config 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 and @edsrzf for contributing to this release!

Integrity check

SHA-256 sumBinary name
e942bb42e6afa98b8045d4e43c7dfeb5c9b5a044070c9c43811a994f1a4a253cdocker-compose-Darwin-x86_64
08e11bae2565bf7f52c2f84a984683f64b60349e9a7e3b396dfe21acd38efc2edocker-compose-Linux-x86_64
5144111a922e0586fa7bd83fe8df84156d41ecad15599b7045f4371f1b338743docker-compose-Windows-x86_64.exe
Nov 9, 2017

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.17.1/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 formatDocker Engine
3.3 – 3.417.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

Bugfixes

  • Fixed a bug that would prevent creating new containers when using container labels in the list format as part of the service's definition.

Integrity check

SHA-256 sumBinary name
63de322e15539cf30d632758fc5339b60f32eb937ec17b4595a6a34b9d84484adocker-compose-Darwin-x86_64
db0a7b79d195dc021461d5628a8d53eeb2e556d2548b764770fccabb0a319dd8docker-compose-Linux-x86_64
86a9e5193628e93ab73fd0b7438e954f25ae68da45ab3b6ab10dda3f307bb21cdocker-compose-Windows-x86_64.exe
Nov 2, 2017

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

Compose file formatDocker Engine
3.3 – 3.417.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

New features

Compose file version 3.4

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

  • Added support for cache_from, network and target options in build configurations

  • Added support for the order parameter in the update_config section

  • Added support for setting a custom name in volume definitions using the name parameter

Compose file version 2.3

  • Added support for shm_size option in build configuration

Compose file version 2.x

  • Added support for extension fields (x-*). Also available for v3.4 files

All formats

  • Added new --no-start to the up command, allowing users to create all resources (networks, volumes, containers) without starting services. The create command is deprecated in favor of this new option

Bugfixes

  • Fixed a bug where extra_hosts values would be overridden by extension files instead of merging together

  • Fixed a bug where the validation for v3.2 files would prevent using the consistency field in service volume definitions

  • Fixed a bug that would cause a crash when configuration fields expecting unique items would contain duplicates

  • Fixed a bug where mount overrides with a different mode would create a duplicate entry instead of overriding the original entry

  • Fixed a bug where build labels declared as a list wouldn't be properly parsed

  • Fixed a bug where the output of docker-compose config would be invalid for some versions if the file contained custom-named external volumes

  • Improved error handling when issuing a build command on Windows using an unsupported file version

  • Fixed an issue where networks with identical names would sometimes be created when running up commands concurrently.

Thanks to @AlexeyRokhin, @garribas, @FrenchBen, @vdemeester, @NikitaVlaznev, @jbarciauskas, @hoogenm, @edsrzf, @AndreaGiardini, @andrewhsu and @albers for contributing to this release!

Integrity check

SHA-256 sumBinary name
d4530830357dbf6fc6b933b6ffaf8bd28fafdeb5e2a01e8afa8746c55ba97b29docker-compose-Darwin-x86_64
b553025b82fc61547933f05693716c92967b835979ba9b092b31e50bd35e30c9docker-compose-Linux-x86_64
35a3365f403dbedb175d6c0f7d971bd497fa64915d44442aa694c732f454ad94docker-compose-Windows-x86_64.exe
Oct 18, 2017

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.17.0-rc1/docker-compose-`uname -s`-`uname -m` > /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 formatDocker Engine
3.3 – 3.417.06.0+
3.0 – 3.21.13.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+
1.01.9.1+

Changes

New features

Compose file version 3.4

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

  • Added support for cache_from, network and target options in build configurations

  • Added support for the order parameter in the update_config section

  • Added support for setting a custom name in volume definitions using the name parameter

Compose file version 2.3

  • Added support for shm_size option in build configuration

Compose file version 2.x

  • Added support for extension fields (x-*). Also available for v3.4 files

All formats

  • Added new --no-start to the up command, allowing users to create all resources (networks, volumes, containers) without starting services. The create command is deprecated in favor of this new option

Bugfixes

  • Fixed a bug where extra_hosts values would be overridden by extension files instead of merging together

  • Fixed a bug where the validation for v3.2 files would prevent using the consistency field in service volume definitions

  • Fixed a bug that would cause a crash when configuration fields expecting unique items would contain duplicates

  • Fixed a bug where mount overrides with a different mode would create a duplicate entry instead of overriding the original entry

  • Fixed a bug where build labels declared as a list wouldn't be properly parsed

  • Fixed a bug where the output of docker-compose config would be invalid for some versions if the file contained custom-named external volumes

  • Improved error handling when issuing a build command on Windows using an unsupported file version

  • Fixed an issue where networks with identical names would sometimes be created when running up commands concurrently.

Thanks to @AlexeyRokhin, @garribas, @FrenchBen, @vdemeester, @NikitaVlaznev, @jbarciauskas, @hoogenm, @edsrzf, @andrewhsu and @AndreaGiardini for contributing to this release!

Integrity check

SHA sumBinary name
89e1db7a926d4b56ac9e2ae0133a6e279424e87edocker-compose-Darwin-x86_64
27f3648e33ee5c8f68c1d05c9e51a5b6669f94bddocker-compose-Linux-x86_64
4651ab956f1ca6ca4d575af6fd72a011dad82d16docker-compose-Windows-x86_64.exe
Latest
v5.1.3
Tracking Since
Aug 31, 2017
Last fetched Apr 18, 2026