1.21.0
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 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+ |
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
andcpu_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, theisolation
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 indocker-compose exec
. -
Added support for the
--compress
flag indocker-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 forexec
andrun
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 sum | Binary name |
---|---|
6cadd64afbd1606e1517b91df591a0104c882a2343865aaa9c7ad9dcae81faf5 |
docker-compose-Darwin-x86_64 |
af639f5e9ca229442c8738135b5015450d56e2c1ae07c0aaa93b7da9fe09c2b0 |
docker-compose-Linux-x86_64 |
f0d52f0323727a9a6a68fa2739bf3c033e64a2d18437d7b31766d7e2e034131e |
docker-compose-Windows-x86_64.exe |