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.

  • sugar_in_your_tea
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    2 days ago

    You don’t have to revert 8 services, you can stop/start them independently: docker compose stop <service name>.

    This is actually how I update my services, I just stop the ones I want to update, pull, and restart them. I do them one or two at a time, mostly to mitigate issues. The same is true for pulling down new versions, my process is:

    1. edit the docker-compose file to update the image version(s) (e.g. from 1.0 -> 1.1, or 1.1 -> 2.0); I check changelog/release notes to check for any manual upgrade notices
    2. pull new images (doesn’t impact running services)
    3. docker compose up -d brings up any stopped services using new image(s)
    4. test
    5. go back to 1 until all services are done

    I do this whenever I remember, and it works pretty well.