The open source Docker container technology is taking on the server virtualization market, offering what some see as a faster alternative to running full virtual machines over hypervisors.
For the latest release of Docker, the development team behind the technology has focused on making the software ready for enterprise use.
"This is the first Docker release where features take the back seat to quality," wrote Docker creator Solomon Hykes, in a blog post announcing the latest version of the software, Docker 0.8.
"Some of the companies using Docker are looking to put [the software] into mission-critical roles, so we want to make sure it is of high quality as possible," said James Turnbull, Docker vice president of services.
Docker is an application container that provides a way to package an application in a virtual container so that it can be run across different Linux distributions.
Hykes created Docker as an internal application for PaaS (platform-as-a-service) company dotCloud. The application generated so much interest since it was released in March 2013 that dotCloud rebranded itself as Docker Inc. and attracted US$15 million in venture capital investment from Greylock Partners.
"We still run the PaaS but our primary business is now Docker the platform," Turnbull said. The software has been downloaded over 400,000 times.
Red Hat included the software in the beta of the next version of its distribution, Red Hat Enterprise Linux (RHEL) distribution, as well as included it in its OpenShift PaaS. Google has also added the software to its Google Compute Engine (GCE) service.
"Customers are recognising that containers give them a lot of capabilities [to run] lightweight portable applications that have low overhead and easily scale and move across physical and cloud architectures," said Mark Coggin, Red Hat senior director of RHEL product marketing.
The concept of containers has been around for a while — Sun Microsystems was a pioneer with Solaris Zones well over a decade ago. Docker is actually built on another container project, called Linux Containers.
Like a virtual machine, a container can hold an application, freeing the developer of the application from worrying about writing to the underlying system software. Unlike full virtual machines though, a Docker container does not include a full OS, but rather shares the OS of its host, in Docker's case, Linux.
As a result, containers can be faster and less resource heavy than virtual machines, as long as the user is willing to stick to a single platform to provide the shared OS. A full virtual machine may take several minutes to create and launch, whereas as a container can be initiated in a matter of seconds. Containers also offer superior performance for the applications they contain, compared to running the application within a virtual machine, which incurs the overhead of running through the hypervisor.
Sign up for CIO Asia eNewsletters.