Docker 0.7 has a lover in every port: Containerizer cozies up to Linux distros
New storage drivers let code sandboxes run on stock kernels
Containerization tech Docker is now supported by all the major Linux distros, making it easier for developers to adopt the lightweight app packaging and shipping tool.
The new capabilities were announced by the open-source project's eponymous parent in a blog post on Tuesday.
Docker is a technology that mates the Linux kernel's LXC, CGroups and Namespaces code to create a lightweight software container.
Where virtual machines each run a guest OS, Docker containerization shares the underlying host OS across all apps running in its sandboxes. It has a lower overhead than typical virtualization.
For instance, Docker could be used to run a database in one container and an app server in another, and the configurable isolation properties let an admin precisely dictate how information is passed between the two.
Version 0.7 now has a storage driver API and three storage drivers – for AUFS, VFS and DEVICEMAPPER – to simplify running Docker on stock Linux distros. Up until it has relied on AUFS for copy-on-write storage, but this code is not part of the Linux kernel so had to be patched in. The new API means it can work with whatever's available from the host system's kernel.
"As of today, Docker no longer requires a patched Linux kernel, thanks to a new storage driver... this means that it will work out-of-the-box on all major distributions, including Fedora, RHEL, Ubuntu, Debian, Suse, Gentoo, Arch, etc," the company wrote.
The new version also includes offline transfer to ease container migration, greater control for port redirects, inter-container communication, and container naming.
Reg readers may point out that Docker's technology is hardly original, as elements of this containerization approach have been present in systems such as Sun Solaris (Zones), and FreeBSD for a long time.
"I think those OSes never enjoyed the adoption that Linux did," said Solomon Hykes, chief technology officer of Docker. "Meanwhile Linux has slowly but surely developed container abilities. For a long time it was quite painful and a lot of work to get linux systems that could operate containers in production at scale."
Docker started in 2008 under the name of Dotcloud and was one of the first companies to start lashing together Linux components to make containerization easier for the lay developer.
Another early adopter was Google, which employed two engineers to develop a tech called "process containers" whose name was later changed to Control Groups (CGroups) and merged into version 2.6.24 of the Linux kernel.
Google, typically, hasn't said much about its own approach to containerization, but the ad-slinger's use of the code is another nod that containerization is a tech with many benefits to organizations.
Now that version 0.7 has been pushed out the door, Hykes is preparing for the long, hard slog to v1.0 of Docker. A development priority here is stabilization, and making it more modular.
"We need to define simple standard APIs for how containers discover each other [and] send network traffic to each other," he said. ®