Docker Container Virtualisation Comes To Mac OS X

oracle docker

With its latest version, Docker has introduced native support for Apple’s Mac OS X, while also shifting to a scheduled release model

The open source Docker virtualisation 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 virtualisation than hypervisors like VMware’s ESX, Microsoft’ Hyper-V or the open-source Xen or Kernel-based Virtual Machine (KVM) projects. Instead of virtualising 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 (£10m) in new funding.

Lightweight VM

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 chief executive Ben Golub said.

citrix-desktop-virtualisation“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 Dockerise 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 emphasising 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.

Scheduled releases

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 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.”

How well do you know Apple? Take our quiz.