Comment on Getting worn out with all these docker images and CLI hosted apps

<- View Parent
EncryptKeeper@lemmy.world ⁨1⁩ ⁨week⁩ ago

are you are saying running docker in a container setup(which at this point would be 2 layers deep) uses less resources than 10 single layer deep containers?

If those 10 single layer deep containers are Proxmox’s LXC containers then yes, absolutely. OCI containers are isolated processes that run single services, usually just a single binary. There’s no OS, no init system. They’re very lightweight with very little overhead. They’re “containerized services”. LXC containers on the other hand are very heavy “system containers” that have a full OS and user space, init system, file systems etc. They are one step removed from being full size VMs. In short, your single LXC running docker and a bunch of containers inside of it is far more resource efficient than running a bunch of separate LXC containers.

One of the biggest advantages of using the hypervisor as a whole is the ability to isolate and run services as their own containers, without the need of actually entering the machine

I mean that’s exactly what docker containers do but more efficiently.

I can just snapshot the current setup and then rollback if it isn’t good

I mean that’s sort of the entire idea behind docker containers as well. It can even be automated for zero downtime updates and deployments, as well as rollbacks.

When compared to 10 CT’s that are finetuned to their specific app, you will have better performance running the CT’s than a VM running everything

That is incorrect. Let’s break away from containers and VMs for a second and look deeper into what is happening under the hood here.

Option A (Docker + containers): One OS, One Init system, one full set of Linux libraries.

Option B (10 LXC containers): Ten full operating systems, ten separate init systems, 10 separate sets of full Linux libraries.

Option A is far more lightweight, and becomes a more attractive option the more services you add.

And not only that, but as you found out, you don’t need to run a full VM for your docker host. You could just use an LXC. Though in that case I’d still prefer the one VM, so that your containers aren’t sharing your Proxmox Host’s kernel.

source
Sort:hotnewtop