Releases: docker/compose
1.13.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.13.0/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 format | Docker Engine |
---|---|
3.0 – 3.2 | 1.13.0+ |
2.2 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
1.0 | 1.9.1+ |
Changes
Breaking changes
docker-compose up
now resets a service's scaling to its default value.
You can use the newly introduced--scale
option to specify a custom
scale value
New features
Compose file version 2.2
-
Introduced version 2.2 of the
docker-compose.yml
specification. This
version requires to be used with Docker Engine 1.13.0 or above -
Added support for
init
in service definitions. -
Added support for
scale
in service definitions. The configuration's value
can be overridden using the--scale
flag indocker-compose up
.
Please note that thescale
command is disabled for this file format
Compose file version 2.x
- Added support for
options
in theipam
section of network definitions
Bugfixes
-
Fixed a bug where paths provided to compose via the
-f
option were not
being resolved properly -
Fixed a bug where the
ext_ip::target_port
notation in the ports section
was incorrectly marked as invalid -
Fixed an issue where the
exec
command would sometimes not return control
to the terminal when using the-d
flag -
Fixed a bug where secrets were missing from the output of the
config
command for v3.2 files -
Fixed an issue where
docker-compose
would hang if no internet connection
was available -
Fixed an issue where paths containing unicode characters passed via the
-f
flag were causing Compose to crash -
Fixed an issue where the output of
docker-compose config
would be invalid
if the Compose file contained external secrets -
Fixed a bug where using
--exit-code-from
withup
would fail if Compose
was installed in a Python 3 environment -
Fixed a bug where recreating containers using a combination of
tmpfs
and
volumes
would result in an invalid config state
Thanks to @sdurrheimer, @albers, @kinghuang, @fate-grand-order and @brainnwaveDuncan for contributing to this release!
1.13.0-rc1
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.13.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 format | Docker Engine |
---|---|
3.0 – 3.2 | 1.13.0+ |
2.2 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
1.0 | 1.9.1+ |
Changes
Breaking changes
docker-compose up
now resets a service's scaling to its default value.
You can use the newly introduced--scale
option to specify a custom
scale value
New features
Compose file version 2.2
-
Introduced version 2.2 of the
docker-compose.yml
specification. This
version requires to be used with Docker Engine 1.13.0 or above -
Added support for
init
in service definitions. -
Added support for
scale
in service definitions. The configuration's value
can be overridden using the--scale
flag indocker-compose up
.
Please note that thescale
command is disabled for this file format
Compose file version 2.x
- Added support for
options
in theipam
section of network definitions
Bugfixes
-
Fixed a bug where paths provided to compose via the
-f
option were not
being resolved properly -
Fixed a bug where the
ext_ip::target_port
notation in the ports section
was incorrectly marked as invalid -
Fixed an issue where the
exec
command would sometimes not return control
to the terminal when using the-d
flag -
Fixed a bug where secrets were missing from the output of the
config
command for v3.2 files -
Fixed an issue where
docker-compose
would hang if no internet connection
was available -
Fixed an issue where paths containing unicode characters passed via the
-f
flag were causing Compose to crash
Thanks to @sdurrheimer, @albers, @kinghuang and @fate-grand-order for contributing to this release!
1.12.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.12.0/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 format | Docker Engine |
---|---|
3.0 – 3.2 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
1.0 | 1.9.1+ |
Changes
New features
Compose file version 3.2
-
Introduced version 3.2 of the
docker-compose.yml
specification. -
Added support for
cache_from
in thebuild
section of services -
Added support for the new expanded ports syntax in service definitions
-
Added support for the new expanded volumes syntax in service definitions
Compose file version 2.1
- Added support for
pids_limit
in service definitions
Compose file version 2.0 and up
-
Added
--volumes
option todocker-compose config
that lists named
volumes declared for that project -
Added support for
mem_reservation
in service definitions (2.x only) -
Added support for
dns_opt
in service definitions (2.x only)
All formats
-
Added a new
docker-compose images
command that lists images used by
the current project's containers -
Added a
--stop
(shorthand-s
) option todocker-compose rm
that stops
the running containers before removing them -
Added a
--resolve-image-digests
option todocker-compose config
that
pins the image version for each service to a permanent digest -
Added a
--exit-code-from SERVICE
option todocker-compose up
. When
used,docker-compose
will exit on any container's exit with the code
corresponding to the specified service's exit code -
Added a
--parallel
option todocker-compose pull
that enables images
for multiple services to be pulled simultaneously -
Added a
--build-arg
option todocker-compose build
-
Added a
--volume <volume_mapping>
(shorthand-v
) option to
docker-compose run
to declare runtime volumes to be mounted -
Added a
--project-directory PATH
option todocker-compose
that will
affect path resolution for the project -
When using
--abort-on-container-exit
indocker-compose up
, the exit
code for the container that caused the abort will be the exit code of
thedocker-compose up
command -
Users can now configure which path separator character they want to use
to separate theCOMPOSE_FILE
environment value using the
COMPOSE_PATH_SEPARATOR
environment variable -
Added support for port range to single port in port mappings
(e.g.8000-8010:80
)
Bugfixes
-
docker-compose run --rm
now removes anonymous volumes after execution,
matching the behavior ofdocker run --rm
. -
Fixed a bug where override files containing port lists would cause a
TypeError to be raised -
Fixed a bug where scaling services up or down would sometimes re-use
obsolete containers -
Fixed a bug where the output of
docker-compose config
would be invalid
if the project declared anonymous volumes -
Variable interpolation now properly occurs in the
secrets
section of
the Compose file -
The
secrets
section now properly appears in the output of
docker-compose config
-
Fixed a bug where changes to some networks properties would not be
detected against previously created networks -
Fixed a bug where
docker-compose
would crash when trying to write into
a closed pipe -
Fixed an issue where Compose would not pick up on the value of
COMPOSE_TLS_VERSION
when used in combination with command-line TLS flags
Thanks to @albers, @edsrzf, @kinghuang, @sdurrheimer, @null, @dnephin, @xulike666, @jyapayne, @tcc-jenkins, @JesusTinoco, @jcberthon, @fate-grand-order, @vehsamrak, @rawkode, @pts-kevinqiu, @nkovacs, @nbarbey, @milin, @melkor217, @marcosnils, @lindt, @Knetic, @kevinetc123, @hholst80, @eddwardo, @dguo, @dbonev, @dattran-vn01, @bheesham and @allandequeiroz for contributing to this release!
1.12.0-rc2
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.12.0-rc2/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 format | Docker Engine |
---|---|
3.0 – 3.2 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
1.0 | 1.9.1+ |
Changes
New features
Compose file version 3.2
-
Introduced version 3.2 of the
docker-compose.yml
specification. -
Added support for
cache_from
in thebuild
section of services -
Added support for the new expanded ports syntax in service definitions
-
Added support for the new expanded volumes syntax in service definitions
Compose file version 2.1
- Added support for
pids_limit
in service definitions
Compose file version 2.0 and up
-
Added
--volumes
option todocker-compose config
that lists named
volumes declared for that project -
Added support for
mem_reservation
in service definitions (2.x only) -
Added support for
dns_opt
in service definitions (2.x only)
All formats
-
Added a new
docker-compose images
command that lists images used by
the current project's containers -
Added a
--stop
(shorthand-s
) option todocker-compose rm
that stops
the running containers before removing them -
Added a
--resolve-image-digests
option todocker-compose config
that
pins the image version for each service to a permanent digest -
Added a
--exit-code-from SERVICE
option todocker-compose up
. When
used,docker-compose
will exit on any container's exit with the code
corresponding to the specified service's exit code -
Added a
--parallel
option todocker-compose pull
that enables images
for multiple services to be pulled simultaneously -
Added a
--build-arg
option todocker-compose build
-
Added a
--volume <volume_mapping>
(shorthand-v
) option to
docker-compose run
to declare runtime volumes to be mounted -
Added a
--project-directory PATH
option todocker-compose
that will
affect path resolution for the project -
When using
--abort-on-container-exit
indocker-compose up
, the exit
code for the container that caused the abort will be the exit code of
thedocker-compose up
command -
Users can now configure which path separator character they want to use
to separate theCOMPOSE_FILE
environment value using the
COMPOSE_PATH_SEPARATOR
environment variable -
Added support for port range to single port in port mappings
(e.g.8000-8010:80
)
Bugfixes
-
docker-compose run --rm
now removes anonymous volumes after execution,
matching the behavior ofdocker run --rm
. -
Fixed a bug where override files containing port lists would cause a
TypeError to be raised -
Fixed a bug where scaling services up or down would sometimes re-use
obsolete containers -
Fixed a bug where the output of
docker-compose config
would be invalid
if the project declared anonymous volumes -
Variable interpolation now properly occurs in the
secrets
section of
the Compose file -
The
secrets
section now properly appears in the output of
docker-compose config
-
Fixed a bug where changes to some networks properties would not be
detected against previously created networks -
Fixed a bug where
docker-compose
would crash when trying to write into
a closed pipe -
Fixed an issue where Compose would not pick up on the value of
COMPOSE_TLS_VERSION when used in combination with command-line TLS flags
Thanks to @edsrzf, @albers, @kinghuang, @dnephin, @xulike666, @jyapayne, @tcc-jenkins, @JesusTinoco, @jcberthon, @vehsamrak, @rawkode, @pts-kevinqiu, @nkovacs, @nbarbey, @milin, @melkor217, @marcosnils, @lindt, @Knetic, @kevinetc123, @hholst80, @fate-grand-order, @eddwardo, @dguo, @dbonev, @dattran-vn01, @bheesham and @allandequeiroz for contributing to this release!
1.12.0-rc1
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.12.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 format | Docker Engine |
---|---|
3.0 ; 3.1 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
1.0 | 1.9.1+ |
Changes
New features
Compose file version 3.2
-
Introduced version 3.2 of the
docker-compose.yml
specification. -
Added support for
cache_from
in thebuild
section of services -
Added support for the new expanded ports syntax in service definitions
-
Added support for the new expanded volumes syntax in service definitions
Compose file version 2.1
- Added support for
pids_limit
in service definitions
Compose file version 2.0 and up
-
Added
--volumes
option todocker-compose config
that lists named
volumes declared for that project -
Added support for
mem_reservation
in service definitions (2.x only) -
Added support for
dns_opt
in service definitions (2.x only)
All formats
-
Added a new
docker-compose images
command that lists images used by
the current project's containers -
Added a
--stop
(shorthand-s
) option todocker-compose rm
that stops
the running containers before removing them -
Added a
--resolve-image-digests
option todocker-compose config
that
pins the image version for each service to a permanent digest -
Added a
--exit-code-from SERVICE
option todocker-compose up
. When
used,docker-compose
will exit on any container's exit with the code
corresponding to the specified service's exit code -
Added a
--parallel
option todocker-compose pull
that enables images
for multiple services to be pulled simultaneously -
Added a
--build-arg
option todocker-compose build
-
Added a
--volume <volume_mapping>
(shorthand-v
) option to
docker-compose run
to declare runtime volumes to be mounted -
Added a
--project-directory PATH
option todocker-compose
that will
affect path resolution for the project -
When using
--abort-on-container-exit
indocker-compose up
, the exit
code for the container that caused the abort will be the exit code of
thedocker-compose up
command -
Users can now configure which path separator character they want to use
to separate theCOMPOSE_FILE
environment value using the
COMPOSE_PATH_SEPARATOR
environment variable -
Added support for port range to single port in port mappings
(e.g.8000-8010:80
)
Bugfixes
-
docker-compose run --rm
now removes anonymous volumes after execution,
matching the behavior ofdocker run --rm
. -
Fixed a bug where override files containing port lists would cause a
TypeError to be raised -
Fixed a bug where scaling services up or down would sometimes re-use
obsolete containers -
Fixed a bug where the output of
docker-compose config
would be invalid
if the project declared anonymous volumes -
Variable interpolation now properly occurs in the
secrets
section of
the Compose file -
The
secrets
section now properly appears in the output of
docker-compose config
-
Fixed a bug where changes to some networks properties would not be
detected against previously created networks -
Fixed a bug where
docker-compose
would crash when trying to write into
a closed pipe
Thanks to @edsrzf, @albers, @kinghuang, @dnephin, @xulike666, @jyapayne, @tcc-jenkins, @JesusTinoco, @jcberthon, @vehsamrak, @rawkode, @pts-kevinqiu, @nkovacs, @nbarbey, @milin, @melkor217, @marcosnils, @lindt, @Knetic, @kevinetc123, @hholst80, @fate-grand-order, @eddwardo, @dguo, @dbonev, @dattran-vn01, @bheesham, @allandequeiroz for contributing to this release!
1.11.2
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.11.2/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 format | Docker Engine |
---|---|
3.0 ; 3.1 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
1.0 | 1.9.1+ |
Changes
Bugfixes
- Fixed a bug that was preventing secrets configuration from being
loaded properly - Fixed a bug where the
docker-compose config
command would fail
if the config file contained secrets definitions - Fixed an issue where Compose on some linux distributions would
pick up and load an outdated version of the requests library - Fixed an issue where socket-type files inside a build folder
would causedocker-compose
to crash when trying to build that
service - Fixed an issue where recursive wildcard patterns
**
were not being
recognized in.dockerignore
files.
Thanks to @dnephin for contributing to this release!
1.11.1
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.11.1/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 format | Docker Engine |
---|---|
3.0 ; 3.1 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
1.0 | 1.9.1+ |
Changes
Bugfixes
- Fixed a bug where the 3.1 file format was not being recognized as valid
by the Compose parser
Thanks to @dnephin for contributing to this release!
1.11.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.11.0/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 format | Docker Engine |
---|---|
3.0 ; 3.1 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
1.0 | 1.9.1+ |
New Features
Compose file version 3.1
- Introduced version 3.1 of the
docker-compose.yml
specification. This
version requires Docker Engine 1.13.0 or above. It introduces support
for secrets. See the documentation for more information
Compose file version 2.0 and up
- Introduced the
docker-compose top
command that displays processes running
for the different services managed by Compose.
Bugfixes
- Fixed a bug where extending a service defining a healthcheck dictionary
would causedocker-compose
to error out. - Fixed an issue where the
pid
entry in a service definition was being
ignored when using multiple Compose files.
Thanks to @dnephin, @mattjbray, @xulike666, @urda, @tntC4stl3, @pts-kevinqiu, @muicoder, @graingert, @ankon for contributing to this release!
1.11.0-rc1
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.11.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 format | Docker Engine |
---|---|
3.0 ; 3.1 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
1.0 | 1.9.1+ |
New Features
Compose file version 3.1
- Introduced version 3.1 of the
docker-compose.yml
specification. This
version requires Docker Engine 1.13.0 or above. It introduces support
for secrets. See the documentation for more information
Compose file version 2.0 and up
- Introduced the
docker-compose top
command that displays processes running
for the different services managed by Compose.
Bugfixes
- Fixed a bug where extending a service defining a healthcheck dictionary
would causedocker-compose
to error out. - Fixed an issue where the
pid
entry in a service definition was being
ignored when using multiple Compose files.
Thanks to @dnephin, @mattjbray, @xulike666, @urda, @tntC4stl3, @pts-kevinqiu, @muicoder, @graingert, @ankon for contributing to this release!
1.10.1
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.10.1/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 format | Docker Engine |
---|---|
3.0 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
1.0 | 1.9.1+ |
Latest changes
Bugfixes
- Fixed an issue where presence of older versions of the docker-py
package would cause unexpected crashes while running Compose - Fixed an issue where healthcheck dependencies would be lost when
using multiple compose files for a project - Fixed a few issues that made the output of the
config
command
invalid - Fixed an issue where adding volume labels to v3 Compose files would
result in an error - Fixed an issue on Windows where build context paths containing unicode
characters were being improperly encoded - Fixed a bug where Compose would occasionally crash while streaming logs
when containers would stop or restart
Thanks to @dnephin for contributing to this release!