Docker: Why use Linux containers on Windows?

Ingmar picture Ingmar · Jan 3, 2018 · Viewed 27.1k times · Source

I am using Win 10 Pro N (Version 1709) as a development machine and Windows Server 2016 Standard (Version 1607) as production server.

I am currently developing an ASP.NET Core 2 application with MongoDb as database.

A couple days ago I first stumbled over the idea, to run MongoDb as a Docker image.

I don't have any experience with Docker so far, but I managed to switch from Linux containers (default) to Windows containers on Windows machines.

Was this a good decision? Or is there any reason why I should use Linux containers instead of Windows containers in my scenario?

What e.g. if I should decide to deploy my application to a Linux server some time? In this case, would it wiser to start with Linux containers right from the beginning?

Answer

Mumrah81 picture Mumrah81 · Jan 3, 2018

Docker is not about virtualization but more about isolation.

A windows container will run on a windows host

A linux container will run on a linux host

Then some people wanted to run linux container on windows

  • First you needed to create a linux vm on windows to run the container
  • Now you can use LinuxKit to run the container but it's still a light VM

Then some people wanted to run windows container on linux

  • First you needed to create a windows vm on linux to run the container
  • Now you can use nothing more as of today

So the best bet is to start with a container aimed at your production servers