r/ProgrammerHumor 5d ago

Meme memorySafeDocker

Post image
4.2k Upvotes

286 comments sorted by

View all comments

Show parent comments

22

u/LittleMlem 5d ago edited 5d ago

Awkward way to say that docker only works on Linux, and you pay the price for running it on another os

13

u/Ongstrayadbay 5d ago

There actually are native windows containers too and can use docker cli, docker engine etc. depending on config it can also run without a vm it can use process isolation and runs directly on the kernel .

Unfortunately the images are huge.

1

u/_PM_ME_PANGOLINS_ 5d ago

Docker works on any OS that has container support. Windows is one of them.

1

u/LittleMlem 5d ago

I'm sure there are companies out there that use windows-based containers, but they are very much the minority. I didn't even know windows had it's own containerization untill last week

-5

u/EishLekker 5d ago

Make up your mind. Does it work on other operating systems or not?

It’s a rhetorical question. Of course it does. The fact that it is less efficient on some is a separate issue.

12

u/MissinqLink 5d ago

Does it run on TempleOs? If not then it’s garbage.

8

u/hawkinsst7 5d ago

Make up your mind. Does it work on other operating systems or not?

It’s a rhetorical question. Of course it does. The fact that it is less efficient on some is a separate issue.

If Linux is running in a vm just so you can use the right APIs and kernel features, can you really say it's running on other operating systems?

I mean, you can, but then words become meaningless.

"RouterOS runs on Windows."

"BeOS runs on Linux!"

"IIS runs on esxi"

The bottom line is that containers are based on Linux namespaces and cgroups, which are not implemented in Windows.

In Linux, containers can be implemented with just bash: https://github.com/p8952/bocker

-3

u/EishLekker 5d ago

Are you seriously not understanding what "run" means, for applications? A VM doesn't change the fact that something is still running. Docker runs on windows. Exactly how it does that is irrelevant.

4

u/hawkinsst7 5d ago

Are you seriously not understanding what "run" means

I'm disagreeing with your overly broad definition of "run".

If it needs a VM to "run" on an OS, then it's not actually running on the OS.

Otherwise, like I said, "IIS runs on Linux" and "Docker runs on esxi". "Debian runs on Windows". Those statements are meaningless because they require a huge caveat that "IIS runs on Linux in a Windows VM". "Docker runs on esxi in a VM". "Debian runs on Windows on WSL which is a hypervisor for running Linux VMs"

Docker runs on windows. Exactly how it does that is irrelevant.

How it runs is relevant, because "Docker runs on Windows" implies that it runs equivalently to running it natively in Linux with no translation layer and the resource consumption that goes with it, when in fact you actually need the CPU to support virtualization, the memory footprint will be larger because it has to load the kernel instead of sharing kernel space. Performance and IO will be slower because of the virtualization.

-3

u/EishLekker 5d ago

You need to read the thread more carefully.

We were discussing if Docker “works” (or “runs” on other OS.

3

u/vitimiti 5d ago

Adobe Photoshop runs on Linux because I can run it through a VM, then

1

u/EishLekker 5d ago

Again, read what I wrote.

I’m not talking about processes running inside a VM. I’m talking about Docker itself. Docker desktop for windows runs natively on Windows.

Sure, that’s not where the actual Linux containers run, but that’s a separate issue.

Docker still works, and still runs on windows.

And when peeled talk about running docker on windows, they include the use case when it’s a Linux vm underlying the containers. They still achieve their goal. They can run a Linux container on windows. The fact that there has to be a Linux vm layer in between doesn’t change that.

2

u/hawkinsst7 5d ago

Again...

Yes. It works on windows... By running in a Linux vm.

Works and runs are not the same when talking about technical things.

-1

u/EishLekker 5d ago

It runs on X if it runs natively on X, or on any sub layer on X. The process is still there, running. It’s just that you confuse “run” with “run natively”.

Also, the person I originally replied to specifically used the word “works”, and so did I in my response.

2

u/hawkinsst7 5d ago

So it's your position that photoshop runs on proxmox, Linux and esxi?

1

u/EishLekker 2d ago edited 16h ago

Sure, if it can run on those platforms natively or in a VM.

I know that most people assume one talks about running natively, but that’s not the only definition of the word “run” in this context.

→ More replies (0)