I run a small server with Proxmox, and I’m wondering what are your opinions on running Docker in separate LXC containers vs. running a specific VM for all Docker containers?
I started with LXC containers because I was more familiar with installing services the classic Linux way. I later added a VM specifically for running Docker containers. I’m thinking if I should continue this strategy and just add some more resources to the docker VM.
On one hand, backups seem to be easier with individual LXCs (I’ve had situations where I tried to update a Docker container but the new container broke the existing configuration and found it easiest just to restore the entire VM from backup). On the otherhand, it seems like more overhead to install Docker in each individual LXC.
Honestly you can do either.
LXC
shares host kernel (theoretically lighter weight)
less isolation from host (less secure)
devices are passed via device files
less flexible due to dependence on host
no live transfers
filesystem shared with host
virtualization
has own kernel and filesystem
supports live transfers
hardware pass though is done at the device level
more flexible due to independent kernel
more overhead