I am keen on Docker and its containerization ecosystem up to the following tinkerer. Between its easy instructions, Compose capability, and big group beef up, Docker is simple to select up for newbies and dependable sufficient to serve veteran project-building fanatics. However as somebody who began with Docker and moved directly to different container runtimes over the process my DIY project-building adventure, I’ve to confess that it has positive quirks that make it slightly of a trouble for complex container-hosting duties.
In reality, after transitioning to Proxmox a couple of years in the past and getting the style of the sheer software of LXCs, I spotted that my Docker Desktop workstation was once if truth be told an unoptimized mess. Certain, it took me some time to get aware of them, however local Linux bins have turn into the Docker substitute for the whole lot from self-hosting workloads to wacky house server experiments.

Proxmox VE 9.1 can pull container photographs immediately from Docker Hub, and it adjustments the whole lot
It can be an experimental characteristic, however it is value testing if you are a self-hosting fanatic
Operating a Home windows-based Docker Desktop setup is extra bother than it’s value
Operating a bloated container runtime inside a resource-hogging OS isn’t a good suggestion
Up to it pains me to confess this, I used to depend on Docker Desktop as a Linux-fearing teen for my tinkering wishes. And reality be informed, it’s now not unhealthy for operating a few bins. However as my DIY initiatives began to ramp up, it made little sense to run the whole lot on my day by day motive force. My fastened filesystems had been all over, whilst my very important self-hosted app stack would siphon further sources all the way through my gaming classes.
Even supposing you permit those issues apart, operating bins within one thing as bloated as Home windows is already horrible from an potency standpoint. And as I were given aware of Docker’s terminal, the Desktop UI began to really feel needless. Sooner or later, I deployed Proxmox on a spare gadget, however my dependence on Docker nonetheless held me again for some time.
Transferring to a VM-based Docker setup on Proxmox was once an growth
However I nonetheless wasn’t taking advantage of my {hardware}
In the event you’ve ever used Proxmox, you’re most certainly conscious that it best helps Linux Packing containers and digital machines natively. Then again, there are a host of the way to get Docker bins up and operating at the virtualization platform. Taking place the Docker-within-LXC course doesn’t sound horrible on paper, however making an allowance for each the LXC and its nested Docker setting proportion the host’s kernel, all it takes is one rogue container to compromise the node’s safety. To not point out, the UID mappings get too convoluted in a nested setting, and the similar applies to community configurations for those Inception-esque unprivileged bins. And no, operating privileged bins was once by no means an choice within the first position, as they’d reason extra safety vulnerabilities.
Switching to a digital gadget – one with none GUI – and depending at the non-Desktop model of Docker gave the look of a forged compromise, and to be truthful, it did give me the most efficient of each worlds. That’s just about how I used Docker all the way through my first yr as a Proxmox consumer, and so long as I had sufficient RAM and CPU sources at the host, I didn’t thoughts operating a full-fledged digital gadget only for Docker. However when I began repurposing dinosaur laptops, old-fashioned mini-PCs, and resource-starved x86 SBCs in my Proxmox house lab, the additional overhead of a digital gadget made this setup so much much less pragmatic. If I’d caught to my VM-based Docker example, I most certainly would’ve declared my decade-old Lenovo computer e-waste and tossed it into slightly, as a substitute of the use of it as a part of my “resurrected tech” cluster as I do at the moment.
Sooner or later, I switched to LXCs
I temporarily learned they had been so much more straightforward to make use of than I’d expected
As a fledgling LXC consumer, operating TurnKey templates in Proxmox gave the impression manner too complicated. In spite of everything, LXCs supply a whole Linux setting like a traditional digital gadget, which gave the impression much more complicated than the straightforward Docker apps (particularly the ones deployed by means of Compose’s YAML recordsdata). However now that I’ve been the use of them for some time, I in point of fact admire how customizable they’re. One TurnKey Debian template is all I wish to configure the whole lot from a llama.cpp server to a Tailscale subnet router with out being concerned concerning the over the top resource-hogging inclinations of VMs.
Due to the proficient Proxmox group, they’re simply as simple to rise up and operating. The Proxmox VE-Helper Scripts group repo is a gold mine for FOSS fanatics who wish to tinker with QoL gear with out the additional complexity of managing the whole lot manually. It comprises masses of one-line set up instructions that may configure each facet of a self-hosted app in a few mins. Heck, I nonetheless depend on those scripts once I’m too drained to manually arrange a provider, and nearly all of my container stack is constructed with PVE-Helper Scripts.
Docker isn’t horrible in any respect, it’s simply that I depend on LXCs extra
Whilst I would possibly sound too harsh on Docker, I’m if truth be told thankful for this container runtime. Docker is what were given me into the self-hosting ecosystem, and the storage-hogging services and products I’ve deployed on my TrueNAS node depend on this beginner-friendly runtime. Likewise, if constructing an difficult to understand FOSS app from scratch turns out like an excessive amount of of a trouble, I’d most certainly spin it up in a Docker setting. However for many of my self-hosting wishes, LXCs supply sufficient software to interchange their Docker opposite numbers.



