Docker Brings Open-Source Container Virtualization to Apple Mac OS X
The open-source Docker virtualization container project released its 0.8 release this week, for the first time providing native support for Mac OS X users.
Docker is an open-source effort that takes a different approach to application virtualization than virtualization hypervisors like VMware's ESX, Microsoft' Hyper-V or the open-source Xen or Kernel-based Virtual Machine (KVM) projects. Instead of virtualizing an entire operating system, Docker is a container system that sits on top of an existing host operating system. The general idea is that a Docker-based approach is more efficient and potentially easier to secure. Earlier this year Docker Inc., the lead commercial sponsor behind the open-source project, announced that it had raised $15 million in new funding.
Prior to this week's Docker 0.8 release, it was possible to run Docker on a heavyweight virtual machine on a Mac, but it was highly manual and not officially supported, Docker CEO Ben Golub said.
"The combination of a native Docker client and a super-lightweight VM [virtual machine] gives us the best of both worlds: You can run Docker completely offline, without depending on an outside machine, and you can still run the exact same containers that will later be deployed in production to your Linux servers," Golub told eWEEK. "To be clear, this doesn't mean that you can Dockerize iOS apps. No Angry Bird in Docker yet."
Although Mac OS X support is a key new feature in Docker 0.8, the project is emphasizing that, with this release and moving forward, "features take the backseat to quality." The Docker project already has a well-developed internal continuous integration/testing/deployment system, Golub said.
"We don't have high severity bugs, and have well-developed procedures to keep serious issues out of code," Golub said. "However, we have been accumulating a number of known low-severity bugs and rough edges as we have been developing new features and functionality rapidly."
Docker is increasingly being used now in production environments and, as such, Golub said that there is a strong emphasis on eliminating the rough edges and addressing the many low-severity bugs. As part of that process, memory usage and performance are also being improved.
The emphasis on quality is also important due to the fact that as of the Docker 0.8 release, there will now be new milestone docker releases ever month. Golub explained that the prior release cadence was a big release roughly every six weeks and a smaller release every week. The big Docker releases were gated by feature readiness, rather than by schedule.
"By moving to a 'trains leave the station at a fixed time' model, we will make things more predictable, and make life easier on our package maintainers," Golub said. "In general, we are moving toward the model adopted by the Linux kernel community."
With most open-source projects, the 1.0 release is a special one as it signifies production readiness. Given that the 0.8 release is now out, a 1.0 release could come as soon as April, though Golub said the plan right now is for the second quarter of the year.
"Whether we go straight from 0.9 to 1.0 or have .10 will depend on our assessment of the readiness of the code," Golub said. "For us, 1.0 will mean a stable API, very high quality code, good documentation and our internal readiness to provide production support."
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.