...if you aren't a data center selling VPSes for your clients, or if your workload isn't tailored for VMs.
Everyone uses Docker nowadays, but Proxmox doesn't natively support Docker. But you do have three different solutions on how to run Docker in it.
fuse-overlayfs
in the container, and some people have reported that this solution can cause the Proxmox host to lock up due to deadlocks.I always thought that this was a super wtf move, "why wouldn't they support Docker? Everyone uses it nowadays!"
And recently, after using Proxmox since 2017... I understood why.
Keep in mind that I'm not a sysadmin that wants to manage a fleet of VMs, I'm a developer that wants to run my applications. I started using Proxmox because mmolitor87 on /r/admincraft recommended me to use Proxmox because "it makes your life sooo much easier since you can containerize your Minecraft servers!"
So in the beginning, Proxmox was pretty nice! I could containerize my Minecraft's servers into different LXC containers: BungeeCord, Lobby and Survival, sweet!
But tech stacks change, and after so many years using Proxmox, my workload has since shifted from mostly LXC containers to Docker containers, rarely touching VMs, making my Proxmox experience go from "fun!" to hell on earth, and only recently I found out that maybe Proxmox wasn't meant for me.
Proxmox's target demographic isn't "people that want to run Docker containers", Proxmox is tailored for people with mostly VM workloads (example: you are selling VPS on your data center) that are running their own data center (so they have separate uplinks for private network X public network). This is what Proxmox (the company) focuses on.
...and then we have home labbers, which it is technically your own smol data center, heh.
In the data center demographic, it makes sense why you wouldn't want to run Docker on your hypervisor: Are you going to run untrusted client code in your hypervisor? Are you crazy??
But home labbers may want to run Docker, but alas, Proxmox target audience isn't home labbers.
When you look at Proxmox, you think "wow such nice features!!" but...
root@saiyan-dreamer:/home# vzdump 40001
INFO: starting new backup job: vzdump 40001
INFO: filesystem type on dumpdir is 'zfs' -using /var/tmp/vzdumptmp2634212_40001 for temporary files
INFO: Starting Backup of VM 40001 (lxc)
INFO: Backup started at 2022-11-21 10:55:51
INFO: status = running
INFO: CT Name: YASMR
INFO: including mount point rootfs ('/') in backup
INFO: mode failure - some volumes do not support snapshots
INFO: trying 'suspend' mode instead
INFO: backup mode: suspend
INFO: ionice priority: 7
INFO: CT Name: YASMR
INFO: including mount point rootfs ('/') in backup
INFO: starting first sync /proc/10745/root/ to /var/tmp/vzdumptmp2634212_40001
ERROR: Backup of VM 40001 failed - command 'rsync --stats -h -X -A --numeric-ids -aH --delete --no-whole-file --sparse --one-file-system --relative '--exclude=/tmp/?*' '--exclude=/var/tmp/?*' '--exclude=/var/run/?*.pid' /proc/10745/root//./ /var/tmp/vzdumptmp2634212_40001' failed: exit code 23
INFO: Failed at 2022-11-21 10:56:50
INFO: Backup job finished with errors
I was having too many issues with it, the most recent one is that any DDoS attack on my dedi server that saturated the entire bandwidth caused corosync to simply stop working and use 200% CPU on every node.
And it gets even worse! Every node stopped being able to communicate between each other until I restarted all dedicated servers. Yes, even if the dedicated server didn't have anything to do with the attack, it got the good old "no quorum???".
root@doge-reborn:~# pct start 20000
cluster not ready - no quorum?
Why don't you quorum with some bitches then /s
I got so fed up with this that I've just decided to remove the nodes from the cluster, so I don't need to restart all dedis just to fix this issue.
After that last issue, I made the decision to migrate my dedicated servers to Ubuntu Server. Most of my workloads in Proxmox were already Docker containers within LXC containers anyway, and for anything stateful I can use LXC containers in LXD, or even QEMU VMs in LXD.
If you are planning to use Proxmox, first analyze what workloads are you going to run:
systemd-nspawn
. You can even migrate your LXC containers to LXD, there are some guides about it on the internet.Nothing in Proxmox has a special magic sauce that makes it tick, LXC containers and QEMU are available on every Linux distro, so if you aren't used any of the advanced Proxmox features that requires Proxmox, just go with a normal Linux distro.