When Docker was first released in March of 2013, it stood on its own as a way to encapsulate and run applications inside isolated Linux Containers. Today, Docker released beta versions of tools that should ease the deployment and management of multiple Docker Containers.
Today, Docker announced the first beta releases for Docker Machine and Docker Swarm, as well as version 1.1 of Docker Compose. Docker Compose can be used to build distributed Docker images that use multiple containerized instances to build a cluster. It allows developers to define these multi-container applications by writing a simple YAML file to define the layout of the distributed application.
Docker Swarm, on the other hand, helps developers to manage said distributed applications. It allows for underlying controls to be switched out based on the cloud in which a distributed application is running. For now, it only supports the Mesosphere Datacenter Operating System, based on Apache Mesos. Plans are in the works to support Amazon Web Services, IBM Bluemix, Microsoft Azure and others.
Finally, Docker Machine allows developers to quickly fire up containerized instances of applications inside public clouds. Out of the box, it supports Amazon Web Services, Digital Ocean, Google App Engine and Microsoft Azure, among others. Docker Machine gives developers a command-line tool to quickly build and start up such hosted application instances.
Perhaps most unusual among these announcements was the inclusion of Microsoft in the host of service providers supported by Docker Machine. While Docker is a distinctly Linux technology, Microsoft’s hosted cloud service, Azure, is tied into Docker Machine to allow developers to spin up instances of their containerized Linux applications inside of Microsoft’s cloud. Hyper-V is also supported by Docker Machine, and Docker Swarm support is slated for release relatively soon.
John Gossman, architect for Microsoft Azure, said that “Customers want container solutions that are open, portable and that don’t place restrictions on application architecture. Working with Docker, we are delivering on that need, through offering extensions, templates and drivers that make it simple to deploy Docker’s orchestration technologies on Microsoft Azure. We believe this makes Azure a great place to run portable Docker applications while giving our customers the flexibility and freedom of choice they require.”