Friday, August 19, 2016

Windows Containers and Docker - Simple Talk

And here is the Summary: (full article here)

Windows Server 2016 features support for containers.
The Docker revolution has become so significant that even Microsoft has plowed forward into the container territories, first through Docker/Linux support in Azure and now through integration in Windows Server 2016, now at Technical Preview 5.
Microsoft is so serious about containers, in fact, that it now actively participates in the Open Container Initiative (OCI) and has embraced the collaborative mindset as if it came up with it on its own, promising seamless integration with the Docker ecosystem, despite its open-source, community-minded, Linux-based heritage.
Microsoft plans to offer two types of containers in Windows Server 2016: the Windows Server container and the Hyper-V container.
Microsoft is also introducing the Windows Server 2016 Nano edition, a minimal headless version of the OS that includes no local GUI or console.
Microsoft has also added nested virtualization to Windows Server 2016 so you can run Hyper-V containers if the host is a VM. Microsoft is also adding container support to Windows 10, though only for Hyper-V containers.
As you can see, Hyper-V containers currently support only the Nano Server image, but your choice for Windows Server containers depends on which edition of Windows Server you're running.
It also means you won't be able to run a Linux-based container on a Windows-based machine, or vice versa, but that's also true for Hyper-V containers.
You do not need to choose the container type ( Windows Server or Hyper-V) until you're ready to implement the actual container.
To help automate container management for both Windows Server and Hyper-V containers, Microsoft has been providing a PowerShell module in the Windows Server 2016 technical previews. However, Microsoft recently announced that it would be deprecating this module and replacing it with a new one that builds directly on top of the Docker engine's REST interface, not a surprising move given the pivotal role Docker plays in the unfolding container drama.
Windows containers are now part of that project, with Docker working to fully integrate Windows containers into the Docker ecosystem.
The Docker engine provides the functionality necessary to manage your Docker environment.
However, the Docker engine is not part of the Windows installation.
The Docker engine essentially does all the container-management grunt work for you, while exposing the API necessary for the Docker client to interface with the engine. Although you cannot run a Windows container on Linux or a Linux container on Windows, you can use the same client to manage both Linux and Windows containers, whether Windows Server or Hyper-V containers.
As with the Docker engine, you must download and install the Docker client yourself. The client can run on either Windows 10 or Windows Server 2016. That should be coming soon, just like the new PowerShell container module, which will also allow you to manage your Windows containers.
Microsoft and Docker still have plenty of work left to do before Windows containers are fully functional, but what we've seen so far represents a significant step forward. Given the extent in which Docker has taken hold in recent years, the Windows-Docker integration makes the picture even brighter, especially for those who want to be able to work with both Linux and Windows containers.
The degree to which Docker will rock the Windows world is yet to be seen, and there's no telling whether Windows containers will bring die-hard Linux fans over to the dark side, but for those already invested in the Windows ecosystem, containers could prove a big boon-and play a significant role in convincing organizations to upgrade to Windows Server 2016, a factor that Microsoft has no doubt been considering since the first Docker sonic boom.

No comments :