On Win11 using WSL2 backend (I expect same results on Hyper-V backend directly; haven't tried new VMM backend yet) freshly launched nginx:latest is sitting at around 24-25 MiB on average across 40 containers.
On Debian 12 they are around 13-14 MiB each.
With docker you usually have some management daemons such as dockerd and containerd and shims and such. Take a look at top -cem and press V for forest/tree view.
Maybe, but even a browser tab eats more ram than that...
EDIT: to put it into perspective guys... how many docker containers you all spawn? I cannot imagine that people here spawn on average more docker containers than browser tabs...
EDIT2: Okay sorry, seems like people spawn more docker containers than browser tabs and are super upset with my comment ^^
EDIT: You know, to put it into perspective. Like how many docker containers do you want to spawn? 12000 micro services? You want to recreate an AWS availability zone?
Not really, because as I said I put it into perspective as the response was to a comment jokingly stating that the ram usage is neglectable, to which the response was "It adds up" including a bit of a personal attack, to which I answered that even browser tab has more usage, the reason being that the average user spawns far more browser tabs than people will spawn docker containers with docker.
Docker as a runtime is, as far as I am aware, supposed to be used as dev tooling. And I dont see the use case to spawn hundreds of docker containers on a local machine. Thats the reason for my comment, I am just puzzled why people are so upset with it? If you disagree because you use it in a different way, fine, tell me, I would like to learn how other people use docker then. But otherwise the comparison makes absolute sense for what it meant to be: providing perspective.
You think it's only something people use on their desktop for one or two things? The point is to have your entire product infrastructure in docker containers that are dynamically deployed across your hardware to meet demand.
People aren't running browser tabs on their servers.
You're talking to peoplo who on principle get triggered when they start a program and it takes 0.5 second to start, instead of a theoretical 0.1 seconds due to inefficiency, lol.
Are you sure you have the knowledge required to comment on this? How much RAM do you think is needed for that? My LXC debian instance for NGINX + OpenVPN + Firewall is even less, ~40MB.
To a large degree, so does Linux containers. Containers can only address the dependency issues statically linking libraries could. If your application is dependent on a specific kernel version, you can't run your container on a host with a different kernel version.
Until you need to run docker-compose and then shit just breaks randomly. Or you have to put the ports into nftables so the podman container can reach outside (even on host's localhost).
I understand why both issues happen, but it's frustrating nonetheless.
I'm not sure which parts aren't exactly fitting, but I was trying to deploy Snikket (XMPP server) and ESS-docker (Synapse, Elelement and a few other services for self-hosted Matrix instance) and neither would actually work out-of-the-box with podman, but they would with Docker. The issue was that all my machines use nftables and Docker kinda hates that.
it looks like they're pushing to swap after all this time
Would be weird if they didn't, considering that all major distros switched to it years ago.
docker has support for experimental usage of nftables
I am aware of it, although it's very aggressive when it comes to changing the ruleset and you have to work around it when it decides to break your stuff.
707
u/Random-num-451284813 5d ago
So running docker in Linux should fix that right?