Docker Inc, have released a new version of their core container runtime, Docker Engine 1.7.0, and updated versions of the supporting toolchain, Docker Compose 1.3, Docker Swarm 0.3 and Docker Machine 0.3. Highlights include the availability of a nightly built ‘Docker experimental binary’ that currently contains a new networking and plugin system, a ‘smarter’ Docker Compose, Apache Mesos integration with Docker Swarm, and a version of Docker Machine that allows configuration options to be passed to hosts, and files copied in, out and between hosts.
Solomon Hykes, CTO and founder of Docker Inc, announced the releases at DockerCon 2015. The new Docker Engine release focuses primarily on stability and quality, and the Docker blog states that many of the internals have been refactored to make them ‘faster, more stable and easier to maintain’. Docker Engine 1.7.0 also adds support for storing images in ZFS, and new ‘higher quality’ networking internals and volumes systems have been added.
Hykes also announced the availability of a ‘Docker experimental binary’, built and updated nightly from the Docker experimental channels, which provides access to ‘bleeding edge’ features that are not currently included within a public generally available (GA) release. Documentation on each current feature can be found within a ‘dedicated experimental section’ of the Docker documentation website. The Docker blog states that caution should be applied with the use of the experimental features, as they may appear and disappear without warning.
An experimental build allows users to try out features early and give feedback to the Docker maintainers. In this way, we hope to refine our feature designs by exposing earlier to real-world usage.
The current experimental release includes a large update to the networking stack - containers can communicate with other across different hosts, and configuring networking has been made more flexible with a new networks CLI. The experimental release also includes a new plugin system for Docker Engine, and the first two plugins available are for networking and volumes. For networks, the allows connection from a container to networking systems such as Weave, Project Calico and other vendor offerings. For volumes, this means that volumes can be stored on networked systems such as ClusterHQ’s Flocker. The plugin system has been built in collaboration with Glider Labs, ClusterHQ and Weave.
We’re adding a plugin system for Engine, the first two available are for networking and volumes. This gives you the flexibility to back them with any third-party system.
The trio of Docker orchestration tools, Compose, Swarm and Machine have received several large updates. Compose, a tool for defining and running multi-container applications with Docker, sees a 1.3 release that includes an experimental ‘smarter’ ‘docker-compose up’ command that only recreates modified containers (rather than recreating everything), new configuration options to enable parity with the ‘docker run’ command, and internal support for container labels.
The Docker blog states that new beta version 0.3 of Swarm, a tool that provides native clustering for Docker Engine, consists of major new functionality that is “taking it closer to production readiness”. Integration with Apache Mesos has now been added via an experimental Swarm cluster driver that uses Mesos’ scheduler. Multi-tenancy support has also been included, allowing multiple Swarm masters to be run for reliability, and the Swarm API has been brought closer to full parity with the Docker Engine API. A number of stability improvements have also been made:
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.
Docker Machine is a beta tool that enables (and abstracts) the creation of Docker hosts across local machines, cloud providers and private datacenters. Version 0.3 of Docker Machine includes the ability to pass configuration options to the Engine and Swarm daemons created on hosts, support for more operating systems, boot2docker host import/migration, and new functionality that allows the copying of files in, out and between hosts.
Compose, Swarm and Machine, our trio of orchestration tools, have received some big updates, including a much smarter “up” command in Compose, Mesos integration in Swarm, and the ability to configure Engine and Swarm in Machine.
Details of the new release of the Docker Engine and supporting toolchain were provided by Solomon Hykes at DockerCon 2015, and also across a series of posts on the Docker blog.