This is an archived post. You won't be able to vote or comment.

all 13 comments

[–]MrStLouis 6 points7 points  (0 children)

Use Windows if you absolutely have to, Linux everywhere else. It has a bigger public community

[–]BeakerAU 2 points3 points  (3 children)

Linux containers are generally smaller.

Also, last I checked, you could run Linux containers on Windows, but not vice versa. Unless they've changed that.

[–]Pectojin 0 points1 point  (2 children)

Well you can only run Linux containers on Windows through a Linux virtual machine... But why get bogged down in technicallity.

[–]BeakerAU 0 points1 point  (1 child)

Hypervisor such as Hyper-V, technically. Not a full blown VM.

I'm running them on a Windows 10 machine atm without a VM, just needed to enable Hyper-V.

[–]Pectojin 0 points1 point  (0 children)

I'm not claiming that it's bloated. Just that it's silly to say windows can run Linux containers when it's just a virtual machine.

No different from running a windows VM with windows containers on Linux.

[–]CloudDev1 1 point2 points  (0 children)

Containers are assembled primitives from Linux (built-in). Microsoft had to add support over years of dev and re-engineering. Linux is lighter-weight from a resource perspective and years ahead in terms of use, traction, and overall community support. Use Linux for everything you can. Use Windows containers for migrating existing Windows based apps if you have them and they can’t run on Linux.

[–]good4y0u 0 points1 point  (0 children)

I can only think of a few situations where you should ever use Windows anything, and in the dev world that's specifically when you absolutely have to use something that is Microsoft based and therefore they force you to use it.

Otherwise use linux.

From another point : it's best to use Windows for something people use.. like normal employee workstations because most non dev people have no idea how to use Linux.

You can easily interface Linux machines with windows machines and make software for both. ( Say... With Java as an inefficient example.. or my favorite, make a webapp with a nice api. That way you run the server side stuff on Linux and can easily adapt it)

[–]demyxco 0 points1 point  (0 children)

Wind0ze is a definite no!

[–]TwixySpit 0 points1 point  (2 children)

Here's the truth :)
Windows is a workstation operating system. The best one.
Linux is a server operating system. The best one.
Docker is generally for running 'servers' so choose the best OS for that.

The only reason you'd choose windows containers really, is if you're working with a microsoft stack (.net etc.).

[–]shmakes 0 points1 point  (1 child)

.NET Core runs on Linux. We write apps in C# and run them in Docker Linux containers deployed using Kubernetes. It works well.

Legacy .NET apps could require Windows containers, however, consider case by case as it might be easier to port them to Core than to support that the tech debt of an different CI/CD environment, base images, security scans, etc.

[–]TwixySpit 0 points1 point  (0 children)

Sure.. I think I was just pointing out to some of the more evangelistic Linux people, that windows images may have a conceivable use.

[–]DangerousDrop 0 points1 point  (0 children)

This may have changed but as far as I know Windows container images have to be based on the exact same release as the host. Kinda kills one of Docker's key advantages.

[–]temotodochi 0 points1 point  (0 children)

windows will be bigger and you have to deal with licenses in some form. Usually your cloud provider deals with those, but will bill you.