1.7.0
Note that Compose 1.7.0 requires Docker Engine 1.10.0 or later for version 2 of the Compose File format, and Docker Engine 1.9.1 or later for version 1.
If you're a Mac or Windows user, the Docker Toolbox will install Compose 1.7.0 for you, alongside the latest versions of Docker Engine, Machine and Kitematic.
Alternatively, you can use the usual commands to install or upgrade:
curl -L https://github.com/docker/compose/releases/download/1.7.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.
Here's what's new:
Breaking Changes
docker-compose logsno longer follows log output by default. It now
matches the behaviour ofdocker logsand exits after the current logs
are printed. Use-fto get the old default behaviour.- Booleans are no longer allows as values for mappings in the Compose file
(for keysenvironment,labelsandextra_hosts). Previously this
was a warning. Boolean values should be quoted so they become string values.
New Features
- Compose now looks for a
.envfile in the directory where it's run and
reads any environment variables defined inside, if they're not already
set in the shell environment. This lets you easily set defaults for
variables used in the Compose file, or for any of theCOMPOSE_*or
DOCKER_*variables. - Added a
--remove-orphansflag to bothdocker-compose upand
docker-compose downto remove containers for services that were removed
from the Compose file. - Added a
--allflag todocker-compose rmto include containers created
bydocker-compose run. This will become the default behavior in the next
version of Compose. - Added support for all the same TLS configuration flags used by the
docker
client:--tls,--tlscert,--tlskey, etc. - Compose files now support the
tmpfsandshm_sizeoptions. - Added the
--workdirflag todocker-compose run docker-compose logsnow shows logs for new containers that are created
after it starts.- The
COMPOSE_FILEenvironment variable can now contain multiple files,
separated by the host system's standard path separator (:on Mac/Linux,
;on Windows). - You can now specify a static IP address when connecting a service to a
network with theipv4_addressandipv6_addressoptions. - Added
--follow,--timestamp, and--tailflags to the
docker-compose logscommand. docker-compose up, anddocker-compose startwill now start containers
in parallel where possible.docker-compose stopnow stops containers in reverse dependency order
instead of all at once.- Added the
--buildflag todocker-compose upto force it to build a new
image. It now shows a warning if an image is automatically built when the
flag is not used. - Added the
docker-compose execcommand for executing a process in a running
container.
Bug Fixes
docker-compose downnow removes containers created by
docker-compose run.- A more appropriate error is shown when a timeout is hit during
upwhen
using a tty. - Fixed a bug in
docker-compose downwhere it would abort if some resources
had already been removed. - Fixed a bug where changes to network aliases would not trigger a service
to be recreated. - Fix a bug where a log message was printed about creating a new volume
when it already existed. - Fixed a bug where interrupting
upwould not always shut down containers. - Fixed a bug where
log_optandlog_driverwere not properly carried over
when extending services in the v1 Compose file format. - Fixed a bug where empty values for build args would cause file validation
to fail.
Thanks @aanand, @shin-, @londoncalling, @albers, @seguins, @IlyaSkriblovsky, @cr7pt0gr4ph7, @clkao, @nubs, @moxiegirl, @AvdN, @yograterol, @TomasTomecek, @simonvanderveldt, @richardbann, @michael-k, @ltiao, @JesusTinoco, @humitos, @graingert, @flowrx, @dbonev, @bfirsh