1.5.0 RC2
Pre-releaseThis is a release candidate for version 1.5.0 of Compose.
Note that Compose 1.5.0 requires Docker 1.8.0 or later.
To try it out, run the following commands:
curl -L https://github.com/docker/compose/releases/download/1.5.0rc2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
Or pip install -U docker-compose==1.5.0rc2 if you prefer pip.
Here's what's new:
Major features:
- Compose is now available for Windows.
- Environment variables can be used in the Compose file. See
https://github.com/docker/compose/blob/129092b7/docs/yml.md#variable-substitution - Multiple compose files can be specified, allowing you to override
settings in the default Compose file. See
https://github.com/docker/compose/blob/129092b7/docs/reference/docker-compose.md
for more details. - Compose now produces better error messages when a file contains
invalid configuration. upnow waits for all services to exit before shutting down,
rather than shutting down as soon as one container exits.- Experimental support for the new docker networking system can be
enabled with the--x-networkingflag. Read more here:
https://github.com/docker/docker/blob/8fee1c20/docs/userguide/dockernetworks.md
New features:
- You can now optionally pass a mode to
volumes_from, e.g.
volumes_from: ["servicename:ro"]. - Since Docker now lets you create volumes with names, you can refer to those
volumes by name indocker-compose.yml. For example,
volumes: ["mydatavolume:/data"]will mount the volume named
mydatavolumeat the path/datainside the container.
If the first component of an entry in volumes starts with a ., / or
~, it is treated as a path and expansion of relative paths is performed as
necessary. Otherwise, it is treated as a volume name and passed straight
through to Docker.
Read more on named volumes and volume drivers here:
https://github.com/docker/docker/blob/244d9c33/docs/userguide/dockervolumes.md
docker-compose build --pullinstructs Compose to pull the base image for
each Dockerfile before building.docker-compose pull --ignore-pull-failuresinstructs Compose to continue
if it fails to pull a single service's image, rather than aborting.- You can now specify an IPC namespace in
docker-compose.ymlwith theipc
option. - Containers created by
docker-compose runcan now be named with the
--nameflag. - If you install Compose with pip or use it as a library, it now works with
Python 3. imagenow supports image digests (in addition to ids and tags), e.g.
image: "busybox@sha256:38a203e1986cf79639cfb9b2e1d6e773de84002feea2d4eb006b52004ee8502d"portsnow supports ranges of ports, e.g.
ports:
- "3000-3005"
- "9000-9001:8000-8001"
docker-compose runnow supports a-p|--publishparameter, much like
docker run -p, for publishing specific ports to the host.docker-compose pauseanddocker-compose unpausehave been implemented,
analogous todocker pauseanddocker unpause.- When using
extendsto copy configuration from another service in the same
Compose file, you can omit thefileoption. - Compose can be installed and run as a Docker image. This is an experimental
feature.
Bug fixes:
- All values for the
log_driveroption which are supported by the Docker
daemon are now supported by Compose. docker-compose buildcan now be run successfully against a Swarm cluster.
Thanks @mnowster, @aanand, @moxiegirl, @albers, @mrfuxi, @viranch, @sdurrheimer, @charleswhchan, @ZJaffee, @villlem, @vdemeester, @TomasTomecek, @timbutler, @ticosax, @SvenDowideit, @stedur, @ronen, @md2perpe, @ggtools, @geron, @cweagans, @au-phiware