Just over a month ago we published a small piece about Docker 1.12. Docker 1.12 is a major evolution in the ecosystem as it is the first version to incorporate Swarm mode directly into the base Engine infrastructure. For those unfamiliar with Swarm, it is the orchestration system that allows containers to be run on clusters of servers. Essentially one can setup a handful up to thousands of bare metal servers and then define containers/ services that should be run on the servers. Swarm takes care of scheduling the containers/ services on each of the nodes. Prior to 1.12, Swarm mode was an additional configuration. With Docker 1.12, Swarm mode is included with the base Docker Engine so one can start creating clusters immediately upon Docker installation.
Docker for Windows
Also announced at the 2016 Dockercon was Docker for Windows and Docker for Mac. We are going to focus on the Windows version as it has unique features that are game-changing. When running Windows as a base operating system and performing system administration tasks, a common way to get access to Linux tools and test environment is to use a virtual machine. Docker for Windows changes the paradigm. It creates a VM using Hyper-V. There is then integration directly with the Windows/ Power Shell command line.
Docker for Windows also provides a relatively easy way to map a local drive to be available to containers using Shared Drives:
Under the hood, Docker for Windows is using Hyper-V. Since Microsoft makes Hyper-V available for many Windows versions, this is a “free” way to use virtualization without requiring any third party tools such as VirtualBox or VMware Workstation Pro 12. One can see the VM Docker creates with the assigned memory and CPU allocation.
Docker for Windows also creates a virtual switch.
Once this is completed, you can see that running a Ubuntu command from the Windows Command Prompt is trivially easy:
Great job to the Docker team on making this relatively seamless.
Docker 1.12 – Swarm Mode
The Docker team posted two great videos explaining Docker 1.12’s Swarm mode. The first video focuses on topology:
The second focuses on the orchestration aspects.
The key takeaway here is that creating a high-availability container infrastructure has become extremely easy. Docker built its new tool with ease of implementation in mind. Compared to setting up a small OpenStack implementation, Docker 1.12’s Swarm mode is several orders of magnitude easier to accomplish.
With the new Docker 1.12 service creation, scaling and orchestration has become significantly easier. The major hurdle remaining is storage. The current state of swarm storage is challenging to say the least. We hope to see the Docker team bring the same seamless user experience that we see in 1.12 to a future version with managed and clustered storage. For those looking to implement Docker services, the impact of 1.12 cannot be understated. Installing Docker for Windows or Docker for Mac on a laptop and then running two or more Linux VMs with Docker can create a simple, mobile, development platform for clustered services. If you are a STH reader and have not started with containers and orchestration, Docker 1.12 is the release that makes the barrier to entry extremely low.
Here is a video about how easy it is to get up and running with a test platform: