As with the last update to Compose, Swarm and Machine, we’re releasing versions alongside the new version of Engine at DockerCon 2015. In all three projects we’ve made some big steps towards production readiness, stability, and new integrations such as Mesos support in Swarm.
Compose is a tool for defining and running multi-container applications with Docker. Compose 1.3 is being released today with improvements intended to make it work better further down the app lifecycle in testing and production. It’s faster, more stable, and has some cool new features:
docker-compose up: Compose can now only recreate containers which have changed instead of tearing everything down and recreating it. This is an experimental feature but you should try it out by passing the
- New configuration options: A bunch of new options have been added to
docker-compose.ymlto bring it on par with
- Container labels: As well as being able to define labels in
docker-compose.yml, Compose now also internally uses labels to keep track of what service containers are part of. This makes it easier to integrate with your own tools and makes Compose much much faster with bigger apps.
Swarm is native clustering for Docker Engine. It turns a pool of Docker hosts into a single, virtual hosts. Version 0.3 is a massive release for Swarm, taking it closer to production readiness:
- Mesos integration: “docker run” on Mesos! Swarm’s cluster scheduler can now be swapped out with an experimental cluster driver that uses Mesos.
- Multi-tenancy: Multiple Swarm masters can be run for reliability. If one fails, it will automatically failover to another using leader election.
- Almost complete support for the Docker API: Everything that runs on Engine now should run on Swarm.
- Stability improvements: This is the most stable Swarm release by far. We built an exhaustive testing infrastructure (integration, regression, and stress tests) and almost doubled our test code coverage, resulting in loads of bug fixes and stability improvements.
Machine makes it really easy to create Docker hosts on your computer, in cloud providers and in your own data center. Version 0.3.0 is a bumper release with loads of new stuff:
- Configure Engine and Swarm: You can now pass configuration options to the Engine and Swarm daemons on created hosts.
- Support for more operating systems: Machine can now provision Red Hat Enterprise Linux, Fedora, Debian and RancherOS.
- Boot2Docker migration: Hosts that you have created with the Boot2Docker command-line tool can now be imported into Machine.
- Copy files in and out of hosts: Machine has a new `docker-machine scp` command which allows you to copy files in, out and between hosts
- New drivers: You can now create hosts on Exoscale, and we’ve added a new “generic” driver which allows you to set up Docker on any host with SSH access.
Compose, Swarm and Networking Integration
Along with this release, we’ve also got an experimental integration between Compose, Swarm and Engine’s multi-host networking that we would love for you to try out.
Engine 1.7 includes experimental multi-host networking, which you can read more about in this blog post. In short, it makes it really easy to get containers talking to each other across different hosts. Using this in combination with Swarm, we can now get different containers running in a Swarm to seamlessly communicate with each other, as if they were all running on a single Docker Engine.
Using Compose in combination with Swarm and Engine’s new networking means we can now run Compose applications on Swarm clusters without modification. You can take an application you’ve been developing on your laptop and use that same configuration to run it in CI, test and production.
It’s still an experimental feature, but we’d love for you to try it out and let us know what you think. To read more, head over to this guide in the experimental documentation.
Join our next Docker online meetup recapping all of the news from DockerCon including demos of the latest features of Docker 1.7. The meetup is on Monday, June 29 at 10:00 PDT / 19:00 CEST – click here to register!
Learn More about Docker
- Read more about the Ecosystem Technology Partner (ETP) program
- New to Docker? Try our getting started tutorial
- Share images, automate builds, and more with a free Docker Hub account
- Read the Docker 1.6 Release Notes
- Subscribe to Docker Weekly
- Register for upcoming Docker Online Meetups
- Attend upcoming Docker Meetups
- Register for DockerCon 2015
- Start contributing to Docker