I like Unraid… It has a UI for VMs and LXC containers like Proxmox, but it also has a pretty good Docker UI. I’ve got most things running on Docker on my home server, but I’ve also got one VM (Windows Server 2022 for Blue Iris) and two LXC containers. (LXC support is a plugin; it doesn’t come out-of-the-box)
Docker with Proxmox is a bit weird, since it doesn’t actually support Docker and you have to run Docker inside an LXC container or VM.
I personally prefer Docker over LXC since the containers are essentially immutable. You can completely delete and recreate a container without causing issues. All your data is stored outside the container in a Docker volume, so deleting the container doesn’t delete your volume. Your docker-compose describes the exact state of the containers (as long as you use version numbers rather than tags like latest)
Good Docker containers are “distroless” which means it only contains the app and the bare minimum dependencies for the app to run, without any extraneous OS stuff in it. LXC containers aren’t as light since as far as I know they always contain an OS.
I’m with you for the most part, but I’m slowly moving over to podman over docker for security and simplicity. LXC is convenient for proxmox, and you can make a golden snapshot, store your data and config in a bind mount, and replicate some of docker’s features.
Lately, I run a privileged lxc with rootless podman running dockge. Seems to work well for now.
I like Unraid… It has a UI for VMs and LXC containers like Proxmox, but it also has a pretty good Docker UI. I’ve got most things running on Docker on my home server, but I’ve also got one VM (Windows Server 2022 for Blue Iris) and two LXC containers. (LXC support is a plugin; it doesn’t come out-of-the-box)
Docker with Proxmox is a bit weird, since it doesn’t actually support Docker and you have to run Docker inside an LXC container or VM.
I’ve just learned about converting docker containers to lxc natively, so that’s my next project.
I personally prefer Docker over LXC since the containers are essentially immutable. You can completely delete and recreate a container without causing issues. All your data is stored outside the container in a Docker volume, so deleting the container doesn’t delete your volume. Your
docker-compose
describes the exact state of the containers (as long as you use version numbers rather than tags likelatest
)Good Docker containers are “distroless” which means it only contains the app and the bare minimum dependencies for the app to run, without any extraneous OS stuff in it. LXC containers aren’t as light since as far as I know they always contain an OS.
I’m with you for the most part, but I’m slowly moving over to podman over docker for security and simplicity. LXC is convenient for proxmox, and you can make a golden snapshot, store your data and config in a bind mount, and replicate some of docker’s features. Lately, I run a privileged lxc with rootless podman running dockge. Seems to work well for now.
I moved from lxc to docker. Much easier to manage.