In this article, I am going to walk you through Windows Containers on Windows Server 2016.
It was on June 8, 2016, that Microsoft announced that Docker could be used natively on Windows 10 with Hyper-V Containers, to build, ship and run containers utilizing the Windows Server 2016 Technical Preview 5 Nano Server container OS image. Windows server also brings familiarity to IT operations including nano server a minimum footprint OS that is optimized to run containers.
Windows containers are richly integrated with docker and as a result providing seamless application portability and delivery. Windows containers don’t run Linux containers. Windows containers help application development by providing two compatible deployment options:
Windows Server Containers:
Windows Server Containers, they use isolation just like a Linux container. It's all isolation based on process isolation. Windows Server Containers maximize density and performance for a variety of development scenarios.
Hyper-V containers provide great isolation and control which might be imported in limited trusted environments such as running containerized applications on shared multi-tenant infrastructure.
Hyper-V Containers encapsulates each container in a light weight virtual machine. Hyper-V containers are the default on Windows 10. In order to run a Hyper-V container we need to define the isolation as below:
docker run –isolation=hyperv
Both of these container types provide the exact same development and management experience for the developer including docker visual studio and powershell integration.
So to recap, we have two types of windows containers, and each of these uses the separate isolation model. Windows Server Container uses process isolation whereas Hyper-V container uses VM isolation. Just wanted to point out that eventhough that Hyper-V uses VM isolation, you are going to see much faster startup time with the Hyper-V containers inside of a VM as opposed to a traditional VM. So you still have substantial benefits in terms of speed with Hyper-V containers. If you have a Windows Server 2016 or later, you will be able to run both of these container types. On Windows 10 you won't be able to run Windows Server Container.
*Pictures from here