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.ymlspecification.
This version requires Docker Engine 17.12.0 or above. -
Added support for the
platformparameter 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_periodandcpu_rt_runtimeparameters
in service definitions (2.x only).
Compose file version 2.1 and up
-
Added support for the
cpu_periodparameter in service definitions
(2.x only). -
Added support for the
isolationparameter in service build configurations.
Additionally, theisolationparameter is used for builds as well if no
build.isolationparameter is defined. (2.x only)
All formats
-
Added support for the
--workdirflag indocker-compose exec. -
Added support for the
--compressflag indocker-compose build. -
docker-compose pullis now performed in parallel by default. You can
opt out using the--no-parallelflag. The--parallelflag is now
deprecated and will be removed in a future version. -
Dashes and underscores in project names are no longer stripped out.
-
docker-compose buildnow 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 configto
generate TLS flags forexecandruncommands. -
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 |