Why I ditched Docker
Published : Saturday 1 April 2023
Docker is a powerful tool and has its place but for me Proxmox offers an easier, more consistent approach to managing my home server containers ...
In 2022 I blogged about switching from XCP-NG to Proxmox for my home network / lab virtualization but also prompted a significant departure from Docker in my ecosystem.
While Docker had long been a go-to for containerization, Proxmox’s features and capabilities played a pivotal role in my decision to almost entirely abandon Docker by 2023. Here’s an overview of why Docker lost its prominence in my setup:
Given that much of this is an interest / hobby but also runs my home network, leaning and maintaining too many systems can become a chore rather than fun, especially when your home network depends on it.
Proxmox’s LXC guests became my preferred choice over Docker containers. These lightweight Linux containers, seamlessly managed within the Proxmox framework, offered a more holistic solution.
Proxmox’s LXC guests provided a familiar environment for network exposure, hardware management, snapshots, and backups. The simplicity and cohesion of LXC guests outweighed the complexities introduced by Docker in my specific use case.
Sure the setup task for a given application isn’t quite as easy as deploying a docker and you may have to debug an intial setup to get it working, but once its up and running you’re in the same place.
Importantly you don’t find out you forgot to map a volume and lose all your data or configuration down the line.
Networking in Docker isn’t rocket science and I understand why it is the way it is, but sometimes I just want to give a container an IP address, slap it on a particular VLAN and have my router/firewall take care of DNS, etc.
I don’t want to have to deal with port mapping, port conflicts, and the invitable reverse proxy to just get something like my Unify controller or HomeAssistant running.
Proxmox also gives me firewall control should I need it at the container level.
Simplified Snapshots and Backups
I never quite got to grips with Docker and having a decent backup sysem. No matter what I tried I always had issues. In the end I was using XCP-NG to snapshot my Docker hosts, but that didn’t give me the granulatiy I desired.
Each of my LXC containers can just be part of my wider backup and snapshot routine within proxmox and this just keeps things simple.
There are ways you can host docker containers to move them around but again this is another thing to learn. An LXC can be moved from one host to another in the same manner as a full VM. This is great for when I want to move workloads around, take a server off line for maintenance ease of backup and recovery.
On top of this all my network configuration etc. doesn’t break and there is very little I really need to do to move a workload from A to B.
I was already impressed with Proxmox’s mature and user-friendly device passthrough functionality, and not having another host and layer of abstraction between my container and the hypervisor felt like an advantage.
I probably wont be going back to Docker any time soon for my home network. Don’t get me wrong Docker is a powerful technology and has its place, but it just wasn’t for me.
For the “but you just need to ….”, people, you’ve missed the point. I dont have time to continually learn and remember how to maintain different systems least of all when some of them are soley for running my home network.
If I can do everything I need in an LXC within a familiar environment I’m aready using, Docker needs to have some major advantages to make me invest the time in getting my home setup to use it. It doesn’t.
I still use Docker for some things , mainly around my development activities, but on the whole it was a layer of complexity I don’t need when Proxmox will do the job.