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’ve just learned about converting docker containers to lxc natively, so that’s my next project.
I moved from lxc to docker. Much easier to manage.
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.