What is Docker?
VMworld 2014 had more than enough new products, services, and buzzwords to go around. While it was undeniable that some noteworthy products were announced — namely VMware EVO:RAIL and a host of other new VMware offerings — the halls of the Moscone Center were also filled with cringe-worthy buzzwords like ‘hybridity.’ Another word that was spoken with increasing regularity at the show was ‘Docker,’ and there are good reasons why. So what exactly is Docker?
Docker: It’s all about containers
The word ‘Docker’ actually refers to two things. One usage is the name of a red hot start-up company — less than 2 years old — that is currently taking the world of enterprise IT by storm. The other usage is the name of the platform that the aforementioned company produces. The latter is the more interesting of the two to developers and IT administrators, and I’ll explain why.
At its core, Docker is a platform that allows software developers and IT professionals to develop, transport, and execute applications. “Docker is a platform for distributed apps that was launched 18 months ago,” says Scott Johnston, the SVP of Products for Docker that I spoke with a few days before VMworld. “Docker uses containers….technology originally developed in the early 1980s. Docker made [the containers concept] much easier to use and made it interoperable.”
Johnston went on to explain that Docker provides an abstraction between the application layer and the infrastructure layer. Developers can create applications in Docker containers, and more easily copy and run those applications without changes on PCs, servers, VMS in the data center, and even in cloud environments. I’ve embedded a brief introduction to Docker by CTO Solomon Hykes below. If you’re interested in a deeper dive into what Docker is all about, there’s a unedited, 47-minute version of the Hykes Docker demo available as well.
Docker — which can also be accurately described as a Linux-based container virtualization platform — consists of a ‘Docker Engine’ that includes a runtime component and a packaging application, and a cloud-based service dubbed ‘DockerHub.’ The Docker website says that the latter is used for “… sharing applications and automating workflows.”
VMworld 2014: Docker, VMware, Google, and Pivotal Announce Partnership
One of the highlights of VMworld 2014 was news that VMware had partnered with Docker, Google, and Pivotal to more closely integrate containers in a variety of VMware products and services. In a VMware statement announcing the news, VMware CTO Ben Fathi said that “With Docker, Google and Pivotal, we will simplify the way enterprises develop, run and manage all application types on a common platform at scale,” Fathi said. “In this way, Docker containers and virtual machines will provide an IT environment without compromise. Together, we will optimize containers for the enterprise — enabling that they run effectively in software-defined data center environments.”–
Docker and Microsoft: Azure Support, PowerShell DSC, and Future Plans
While most of the more recent Docker news has focused on partnership with VMware, Google, and Pivotal, Docker is also gaining support from Microsoft as well. At DockerCon in June 2014, Microsoft’s Corey Sanders blogged about how Microsoft was supporting the deployment of Docker into Microsoft Azure Linux virtual machines using Microsoft’s Azure extension technology. Sanders also said that Azure Docker support also integrates with Microsoft’s cross-platform CLI toolset.
In July 2014, Microsoft announced that it was collaborating with both Google and Docker to provide support for lib swarm and Kubernetes to Microsoft Azure, which are open source projects that support and can help manage Docker applications.
That’s not all: Literally less than 24 hours before I finished this article, Microsoft had posted a TechNet Radio piece with Yung Chou, Keith Mayer, and Andrew Weiss that focused on how to use PowerShell DSC to deploy and manage Docker containers running in Microsoft Azure VMs.
During my chat with Johnston, he mentioned that Docker would be providing more robust support for Microsoft platforms in the near future, and that he expected the first Docker implementation to be running natively on Windows platforms by early 2015.