Ingmar
Ingmar

Reputation: 1447

Docker: Why use Linux containers on Windows?

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?

Upvotes: 29

Views: 28544

Answers (2)

Mumrah81
Mumrah81

Reputation: 2054

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

Upvotes: 37

herm
herm

Reputation: 16315

If you want to deploy to linux I would advise using linux containers since you then test a more similar setup and are more likely to find issues that will also show in your final deployment.

Other than that linux container technology is more mature and better supported than windows containers.

Upvotes: 16

Related Questions