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 | 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+ |
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
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!
| Binary name | SHA-256 sum |
|---|---|
docker-compose-Darwin-x86_64 | 6e36be6668714fdef1f65c5165de08314f6c1429285cb46b42242a4dab9a0844 |
docker-compose-Linux-x86_64 | 42fc1ca4af68c7b9484c7dbc331d06874318dedcf1db1335aa99b27cf7130bfb |
docker-compose-Windows-x86_64.exe | a84788e3cbc469f313693e529739d63fdf4a110183fb35d9b5b0343d06b6f785 |
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 | 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+ |
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
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!
| Binary name | SHA-256 sum |
|---|---|
docker-compose-Darwin-x86_64 | c1daeb11b5198bdac81f3b366f5664314d397e706cee65a8909455a3f849a27b |
docker-compose-Linux-x86_64 | 5f1222d48c5fe9001723fc42ed48d7b3a0bbd903a02145ac6a731ff42a32122b |
docker-compose-Windows-x86_64.exe | 28720d448f7f99c87797dca9388d1a83d3116f6fb9cbd247e69ec45f3a50f6f6 |
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 | 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+ |
| Binary name | SHA-256 sum |
|---|---|
docker-compose-Darwin-x86_64 | cbbb44bcd14af1c57104099b802898b2bbc359ae06b543bfb9bb6d95302026e2 |
docker-compose-Linux-x86_64 | 8a11713e11ed73abcb3feb88cd8b5674b3320ba33b22b2ba37915b4ecffdf042 |
docker-compose-Windows-x86_64.exe | 6f515b821fcbb3e07fdab8ce6da74b9e77ab743ae141d4670280fd26f95af7ef |
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 | 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+ |
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!
| Binary name | SHA-256 sum |
|---|---|
docker-compose-Darwin-x86_64 | 1a82ba8dd9d8c6ec2fd4a49ddc4bf765ce2d15b1b4d4ee2c357ad8a2cdc4c8a0 |
docker-compose-Linux-x86_64 | 16402bfb9a52313a352f31437773242a1ccec9e4a30ccd9dc1e4477a970dc6c9 |
docker-compose-Windows-x86_64.exe | 46e06d41047c32572aec6ddb0a569f1811fc0c321795f5565452f5d31925902f |
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 | 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+ |
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.
cpu_rt_period and cpu_rt_runtime parameters
in service definitions (2.x only).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)
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 operations.
Thanks to @mnottale, @g0t4, @dnephin, @dakotahawkins, @brainlock and @albers for contributing to this release!
| SHA-256 sum | Binary name |
|---|---|
6cadd64afbd1606e1517b91df591a0104c882a2343865aaa9c7ad9dcae81faf5 | docker-compose-Darwin-x86_64 |
af639f5e9ca229442c8738135b5015450d56e2c1ae07c0aaa93b7da9fe09c2b0 | docker-compose-Linux-x86_64 |
f0d52f0323727a9a6a68fa2739bf3c033e64a2d18437d7b31766d7e2e034131e | docker-compose-Windows-x86_64.exe |
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 | 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+ |
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.
cpu_rt_period and cpu_rt_runtime parameters
in service definitions (2.x only).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)
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 operations.
Thanks to @mnottale, @g0t4, @dnephin, @dakotahawkins, @brainlock and @albers for contributing to this release!
| SHA-256 sum | Binary name |
|---|---|
82c690090293a721b6c84dcdc08c13256cca1816fa4a6c2f1676418bae71d3cb | docker-compose-Darwin-x86_64 |
db6990617d550aa7126217bb00f3041da58ef1eeeb5d902a8833fea07b66490a | docker-compose-Linux-x86_64 |
4e3bacebc8922a3ad09156473bb3d82c10faa56264ad3b1c0a4893460b347c4d | docker-compose-Windows-x86_64.exe |
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 | Docker Engine |
|---|---|
| 3.6 | 18.02.0+ |
| 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+ |
docker-compose build would error out if the
build context contained directory symlinks| SHA-256 sum | Binary name |
|---|---|
4a7a03b6184558f1efe962b47dbc489412ce5de4c420a3e116aaae6e03a140d3 | docker-compose-Darwin-x86_64 |
11a6923c2a589b946598fe205c8f645e57f3f4ee153d3b7315b7e1993c1b2ad1 | docker-compose-Linux-x86_64 |
ac40acdfa6283aabc1ca4b57ce8d0241fbe1f71409714ce0f357d1ea7624496d | docker-compose-Windows-x86_64.exe |
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 | Docker Engine |
|---|---|
| 3.6 | 18.02.0+ |
| 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+ |
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
--build-arg option can now be used without specifying a service
in docker-compose buildAdded 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
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
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!
SHA-256 sum | Binary name
500f9ab56a76af04d9cd2ed1b953f8b663a9a212b9955d44536743e9200bcbd4 | docker-compose-Darwin-x86_64
3099f4087251c06e8d693877adb571365fcdf0819eeaa6ed37097978d2c50e83 | docker-compose-Linux-x86_64
587b41a75271ed37dd27b482a379844a296f92bde856cfad9068c17864c37393 | docker-compose-Windows-x86_64.exe
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 | Docker Engine |
|---|---|
| 3.6 | 18.02.0+ |
| 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+ |
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
--build-arg option can now be used without specifying a service
in docker-compose buildAdded 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
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
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!
| SHA-256 sum | Binary name |
|---|---|
069f4078e37e7703353f7f8fe77216f7433654f3f7890cc702058693fb9502e3 | docker-compose-Darwin-x86_64 |
3d59b1ce1ecee52e200bd375c6d0309f42ed59dc7bdac1658d67ff088c04cf7d | docker-compose-Linux-x86_64 |
221561892c2153648466de5f647fefcceeb78188e7bc71a52ec0999f8acc50d9 | docker-compose-Windows-x86_64.exe |
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 | Docker Engine |
|---|---|
| 3.6 | 18.02.0+ |
| 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+ |
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
--build-arg option can now be used without specifying a service
in docker-compose buildAdded 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
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
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!
| SHA-256 sum | Binary name |
|---|---|
bdb0f8dec9815ba562246d398a8854d7fbd23e233cac88a6f9c58553c56e4cc4 | docker-compose-Darwin-x86_64 |
91632399be7dbb106d8eae7dff91b11df6c117738e9cf25e1ece4920aa469ac4 | docker-compose-Linux-x86_64 |
75da9357a69a64c2e4d22d3c47ac82574f371f2587a0c140ee814eb03747979b | docker-compose-Windows-x86_64.exe |
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 | 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+ |
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.config command should now merge deploy options from
several Compose files in a more accurate mannerruntime option in service definitions${VAR:?err} and ${VAR?err} variable interpolation
syntax to indicate mandatory variablespriority key to service network mappings, allowing the user to
define in which order the specified service will connect to each networkAdded --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
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!
| SHA-256 sum | Binary name |
|---|---|
e3c802584bf40eb3e92ac082f3d3217d940c234b80b686510ede977c90d0715e | docker-compose-Darwin-x86_64 |
78734996d716113f9f9716d0b5064166e9475835e5000fd01b0480d19e1f7372 | docker-compose-Linux-x86_64 |
52bb70f8909c329133239621edfab470ea8c73525ea75b138b933190f8f5a0dd | docker-compose-Windows-x86_64.exe |
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 | 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+ |
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.config command should now merge deploy options from
several Compose files in a more accurate mannerruntime option in service definitions${VAR:?err} and ${VAR?err} variable interpolation
syntax to indicate mandatory variablespriority key to service network mappings, allowing the user to
define in which order the specified service will connect to each networkAdded --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
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!
| SHA-256 sum | Binary name |
|---|---|
7762cda0cc711171a59db8ddc53ab0aa0a8f4f901deb306a9af6b68ac67ef2d3 | docker-compose-Darwin-x86_64 |
38ce33de57287aed8b32997f0b68d15efea2f90b41ea592d2f4521d6c2af71d6 | docker-compose-Linux-x86_64 |
ed4f5ebe0066dd4c313dbf3047d4b5ff78d908f16a1965bc15895eb4c188a622 | docker-compose-Windows-x86_64.exe |
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 | 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+ |
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.config command should now merge deploy options from
several Compose files in a more accurate mannerruntime option in service definitions${VAR:?err} and ${VAR?err} variable interpolation
syntax to indicate mandatory variablespriority key to service network mappings, allowing the user to
define in which order the specified service will connect to each networkAdded --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
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!
| SHA-256 sum | Binary name |
|---|---|
e1748116c25a53a336eccc570a1fd5c2c0678e6160c01fda8bbb789684d527fb | docker-compose-Darwin-x86_64 |
747a51307f7acf4145323e6faf022cbdfe802d89887bcdf0ce80eb606af25b43 | docker-compose-Linux-x86_64 |
5f46c14ecec637687474ee6c5a36de51f42783f5b3f41e4fb7a27f13630fc6b6 | docker-compose-Windows-x86_64.exe |
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 | 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+ |
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.config command should now merge deploy options from
several Compose files in a more accurate mannerruntime option in service definitions${VAR:?err} and ${VAR?err} variable interpolation
syntax to indicate mandatory variablespriority key to service network mappings, allowing the user to
define in which order the specified service will connect to each networkAdded --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
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!
| SHA-256 sum | Binary name |
|---|---|
4ebaa6ef8fd182ee92169e25bb76f721f12331adefebbe44a04c58d1251fed6d | docker-compose-Darwin-x86_64 |
f5a5057f71f6cf44718625381346cce79806e41ad6bfe1f98e76cf4e4c861188 | docker-compose-Linux-x86_64 |
1f2dfdd2502f812034b3d87bde45afc1c768b388977925dfbc9ad87758f8a90e | docker-compose-Windows-x86_64.exe |
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 | 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+ |
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
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.
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)
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
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!
| SHA-256 sum | Binary name |
|---|---|
c8961b6751a0f809d8a22c2bd4a93fc0250dbd032f98b67380370d9288a894c0 | docker-compose-Darwin-x86_64 |
b2f2c3834107f526b1d9cc8d8e0bdd132c6f1495b036a32cbc61b5288d2e2a01 | docker-compose-Linux-x86_64 |
9c110e69aac18364f1fb10c99d26318096ebc4cf4bf5fe7931a38cac61b2eb45 | docker-compose-Windows-x86_64.exe |
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 | 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+ |
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
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.
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)
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
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!
| SHA-256 sum | Binary name |
|---|---|
75524159716f6f3bb497bffa8dfabc0434a05791464b5a152e1f91df228fb42a | docker-compose-Darwin-x86_64 |
d0e1ba02c67d83c7d1126eed4573d8b0063b9c07cdcea513092e6236ac2119c4 | docker-compose-Linux-x86_64 |
1ffd46e90b39f27e256496b5f7128487099ed026784dc0777ec1bd60d7ac21e4 | docker-compose-Windows-x86_64.exe |
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 | 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+ |
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
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.
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)
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
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!
| SHA-256 sum | Binary name |
|---|---|
e942bb42e6afa98b8045d4e43c7dfeb5c9b5a044070c9c43811a994f1a4a253c | docker-compose-Darwin-x86_64 |
08e11bae2565bf7f52c2f84a984683f64b60349e9a7e3b396dfe21acd38efc2e | docker-compose-Linux-x86_64 |
5144111a922e0586fa7bd83fe8df84156d41ecad15599b7045f4371f1b338743 | docker-compose-Windows-x86_64.exe |
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 | Docker Engine |
|---|---|
| 3.3 – 3.4 | 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+ |
| SHA-256 sum | Binary name |
|---|---|
63de322e15539cf30d632758fc5339b60f32eb937ec17b4595a6a34b9d84484a | docker-compose-Darwin-x86_64 |
db0a7b79d195dc021461d5628a8d53eeb2e556d2548b764770fccabb0a319dd8 | docker-compose-Linux-x86_64 |
86a9e5193628e93ab73fd0b7438e954f25ae68da45ab3b6ab10dda3f307bb21c | docker-compose-Windows-x86_64.exe |
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 | Docker Engine |
|---|---|
| 3.3 – 3.4 | 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+ |
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
shm_size option in build configurationx-*). Also available for v3.4 files--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 optionFixed 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!
| SHA-256 sum | Binary name |
|---|---|
d4530830357dbf6fc6b933b6ffaf8bd28fafdeb5e2a01e8afa8746c55ba97b29 | docker-compose-Darwin-x86_64 |
b553025b82fc61547933f05693716c92967b835979ba9b092b31e50bd35e30c9 | docker-compose-Linux-x86_64 |
35a3365f403dbedb175d6c0f7d971bd497fa64915d44442aa694c732f454ad94 | docker-compose-Windows-x86_64.exe |
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 | Docker Engine |
|---|---|
| 3.3 – 3.4 | 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+ |
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
shm_size option in build configurationx-*). Also available for v3.4 files--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 optionFixed 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!
| SHA sum | Binary name |
|---|---|
89e1db7a926d4b56ac9e2ae0133a6e279424e87e | docker-compose-Darwin-x86_64 |
27f3648e33ee5c8f68c1d05c9e51a5b6669f94bd | docker-compose-Linux-x86_64 |
4651ab956f1ca6ca4d575af6fd72a011dad82d16 | docker-compose-Windows-x86_64.exe |