Skip to content

Releases: docker/compose

1.13.0

02 May 19:30
Compare
Choose a tag to compare

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 in docker-compose up.
    Please note that the scale command is disabled for this file format

Compose file version 2.x

  • Added support for options in the ipam 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 with up 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

24 Apr 18:13
Compare
Choose a tag to compare
1.13.0-rc1 Pre-release
Pre-release

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 in docker-compose up.
    Please note that the scale command is disabled for this file format

Compose file version 2.x

  • Added support for options in the ipam 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

05 Apr 18:11
Compare
Choose a tag to compare

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 the build 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 to docker-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 to docker-compose rm that stops
    the running containers before removing them

  • Added a --resolve-image-digests option to docker-compose config that
    pins the image version for each service to a permanent digest

  • Added a --exit-code-from SERVICE option to docker-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 to docker-compose pull that enables images
    for multiple services to be pulled simultaneously

  • Added a --build-arg option to docker-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 to docker-compose that will
    affect path resolution for the project

  • When using --abort-on-container-exit in docker-compose up, the exit
    code for the container that caused the abort will be the exit code of
    the docker-compose up command

  • Users can now configure which path separator character they want to use
    to separate the COMPOSE_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 of docker 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

27 Mar 19:08
Compare
Choose a tag to compare
1.12.0-rc2 Pre-release
Pre-release

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 the build 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 to docker-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 to docker-compose rm that stops
    the running containers before removing them

  • Added a --resolve-image-digests option to docker-compose config that
    pins the image version for each service to a permanent digest

  • Added a --exit-code-from SERVICE option to docker-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 to docker-compose pull that enables images
    for multiple services to be pulled simultaneously

  • Added a --build-arg option to docker-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 to docker-compose that will
    affect path resolution for the project

  • When using --abort-on-container-exit in docker-compose up, the exit
    code for the container that caused the abort will be the exit code of
    the docker-compose up command

  • Users can now configure which path separator character they want to use
    to separate the COMPOSE_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 of docker 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

20 Mar 19:05
Compare
Choose a tag to compare
1.12.0-rc1 Pre-release
Pre-release

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 the build 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 to docker-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 to docker-compose rm that stops
    the running containers before removing them

  • Added a --resolve-image-digests option to docker-compose config that
    pins the image version for each service to a permanent digest

  • Added a --exit-code-from SERVICE option to docker-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 to docker-compose pull that enables images
    for multiple services to be pulled simultaneously

  • Added a --build-arg option to docker-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 to docker-compose that will
    affect path resolution for the project

  • When using --abort-on-container-exit in docker-compose up, the exit
    code for the container that caused the abort will be the exit code of
    the docker-compose up command

  • Users can now configure which path separator character they want to use
    to separate the COMPOSE_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 of docker 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

22 Feb 00:02
Compare
Choose a tag to compare

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 cause docker-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

09 Feb 20:36
Compare
Choose a tag to compare

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

08 Feb 21:40
Compare
Choose a tag to compare

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 cause docker-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

06 Feb 23:03
Compare
Choose a tag to compare
1.11.0-rc1 Pre-release
Pre-release

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 cause docker-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

01 Feb 21:54
Compare
Choose a tag to compare

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!