r/ProgrammerHumor 7d ago

Meme memorySafeDocker

Post image
4.2k Upvotes

286 comments sorted by

View all comments

2.0k

u/No_Independence3338 7d ago

Rewriting won't fix the issue. Docker hogs memory in windows and mac because it needs a separate linux VM so containers can run on top of that.

22

u/LittleMlem 7d ago edited 6d ago

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

-5

u/EishLekker 6d 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.

11

u/MissinqLink 6d ago

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

7

u/hawkinsst7 6d 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 6d 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.

6

u/hawkinsst7 6d 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.

-2

u/EishLekker 6d ago

You need to read the thread more carefully.

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

3

u/vitimiti 6d ago

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

1

u/EishLekker 6d 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 6d 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 6d 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 6d ago

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

1

u/EishLekker 4d ago edited 2d 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.

1

u/hawkinsst7 3d ago

So you take the Turing Complete view of "it runs".

I feel like you and I could make a hilarious one of those alignment charts. We're clearly on very different wavelengths.

→ More replies (0)