Allan Xu
Allan Xu

Reputation: 9298

What is included in the Windows 10 Container feature, and why do I need Docker for Windows on top of that?

According to below screenshot, I understand that Windows 10 Professions already comes with some level of Containers features or support.

enter image description here

However, when I go through Windows 10 Container training documentation including this Quick Start Guide, they all require to install Docker for Windows on Windows 10.

What is included in the Windows 10 Container feature shown in the screenshot above, and why do I need Docker for Windows on top of that?

Upvotes: 4

Views: 6063

Answers (1)

Mangat Rai Modi
Mangat Rai Modi

Reputation: 5706

I am no expert in Windows kernel but understands a bit on Linux containers, so I am answering after reading windows documentation

Docker is a tool to create Linux containers which was possible due to these two features: cgroups (2.6.24) and Namespaces (2.4.19) added in Linux kernel added in the specified versions.

In another words, docker can be run only on Linux host. To run on any other host (Mac, Windows), docker would need to create a virtual machine which will run Linux kernel and then run docker on top of it. Here is a really good explanation of how containers differ from hypervisors - LXC vs Hypervisor

However Windows 10 adds support for kernel namespaces and supports following type of containers:-

  1. Windows Server Containers: Similar to Linux containers as they use namespaces to isolate the software environment. The containers shares kernel with host.
  2. Hyper-V Isolation: Seems like, for "better security", Windows is providing with a virtual machine for each container. This design is similar to what docker already had on the previous versions of Windows.

So to answer your question,

What is included in the Windows 10 Container feature?

Windows have added namespaces, and supports Linux like containers natively, without the need of an hypervisor, i.e. containers sharing kernel with hosts

Why do I need Docker for Windows on top of that?

Creating a container on own is a tough task. you have to correctly isolate namespaces and take care of resource leaking. Docker makes it easier for you. However looks like Docker in Windows yet doesn't support containers directly on host. However it can run Windows kernel in a virtual machine and create windows containers on top, which is a new feature.

Again, I have limited knowledge on Windows containers, hope you will have enough pointers to carry on!

Upvotes: 4

Related Questions