1.7.0 RC1
Pre-releaseNote 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-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.
Here's what's new:
Breaking Changes
docker-compose logs
no longer follows log output by default. It now
matches the behaviour ofdocker logs
and exits after the current logs
are printed. Use-f
to get the old default behaviour.- Booleans are no longer allows as values for mappings in the Compose file
(for keysenvironment
,labels
andextra_hosts
). Previously this
was a warning. Boolean values should be quoted so they become string values.
New Features
- Compose now looks for a
.env
file 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-orphans
flag to bothdocker-compose up
and
docker-compose down
to remove containers for services that were removed
from the Compose file. - Added a
--all
flag todocker-compose rm
to 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
tmpfs
andshm_size
options. - Added the
--workdir
flag todocker-compose run
docker-compose logs
now shows logs for new containers that are created
after it starts.- The
COMPOSE_FILE
environment 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_address
andipv6_address
options. - Added
--follow
,--timestamp
, and--tail
flags to the
docker-compose logs
command. docker-compose up
, anddocker-compose start
will now start containers
in parallel where possible.docker-compose stop
now stops containers in reverse dependency order
instead of all at once.- Added the
--build
flag todocker-compose up
to 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 exec
command for executing a process in a running
container.
Bug Fixes
docker-compose down
now removes containers created by
docker-compose run
.- A more appropriate error is shown when a timeout is hit during
up
when
using a tty. - Fixed a bug in
docker-compose down
where 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
up
would not always shut down containers. - Fixed a bug where
log_opt
andlog_driver
were 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