LXC and LXD share plenty of contributors.
https://github.com/lxc/lxc/graphs/contributors
https://github.com/canonical/lxd/graphs/contributors
I use an "unprivileged LXC container" setup on several Debian bullseye hosts. It works fantastic, and each LXC container feels like a real server.
Compare that to Docker's "one-container-one-process" philosophy, reinventing the wheel by awkwardly composing multiple containers.
I now only wish docker either evolves or something entirely new replaces k8s since I do not really like k8s setup and usability.
My original intention was to deploy a Gaussian Process Regression model built with PyMC on AWS Lambda. I need to build and run a few thousand of these each morning. Building the Docker image was fun and it worked great, but AWS Lambda was extremely disappointing. Even when configured with 10GB of RAM, it was pretty slow and running my predictions would cost hundreds of dollars per day. I can spin up a 128 core bare metal EPYC server on vultr for an hour at a cost of $8 that can finish the job faster. That's still more expensive than I had envisioned so if anyone can suggest any smaller providers that can run CPU bound workloads in ephemeral docker containers, let me know.
But for Python it works out great, except for when the container doesn't start. If it doesn't start you can't connect VS Code to it.
The trick then is to use `docker cp` to pull out the file that breaks the python process, fix it, `cp` it back and try and start the container.
If possible I like to change the EXEC method to `/bin/bash`, the COMMAND to `tail -f /dev/null`, and execute the python process in an interactive terminal. That mitigates the container not starting issue... unless `tail -f /dev/null` fails. But if that's the case I've got bigger fish to fry.
I understand people want to earn money but something as essential as this should somehow be free and available to everyone. Not sure how exactly big companies would split the bill, but it should be possible in our universe. After all, we have Linux, git, openssh, etc. I know that k8s was supposed to be that, but it sucks.
I had planned to migrate to LXD now that current Debian has a package for it, but now ... nah, unfortunately. I was really looking forward to the live migration feature.
BTW, what does migrating LXC to LXD mean? I always used just LXC, and thought LXD was something at a upper layer to help manage them but you still used the same LXC containers underneath.
It's been a while since I looked into it, but IIRC there was a "migration" or "adoption" step. I think you're generally right that LXD worked like an extension of or administrative layer for LXC, but also: http://web.archive.org/web/20230605025133/https://linuxconta... (the documentation is no longer available on linuxcontainers.org now that Canonical has taken over the project).
It depends on your mental model, I see containers as chroots on steroids so the one process per container feels very natural.
Discussion over here: https://news.ycombinator.com/item?id=36592343