lxd
I have chosen LXD as my virtualization and isolation solution because it's exceptionally suited for creating development sandboxes. Its ability to quickly test something in an isolated environment is a major advantage. Additionally, it's lightweight compared to a full virtual machine, with the creation of an LXC container taking just a few seconds through a single command.
I use LXD to do such things on my poor 4 CPU, 16 GiB Ausus Mini PC PB62. I already create more than total 50 container and virtual machine (about 5).
Private Git service, and CI/CD solution with
Gitea
andGitea runner
Private Kubernetes soltions with
MicroK8s
HA ClusterDatabase services
Monitor services
Development environments
Test envionments
However, there are some disadvantages to note:
Running it similarly to Docker, Podman, or MicroK8s may require additional configurations. To keep things simple, I use the
--vm
option with LXD to create a full virtual machine instead of the default container.LXD seems to be officially supported only through
Snap
, which might not be very common. However, this point is less of a concern for me personally, especially since Ubuntu is my favorite Linux distribution (excluding specialized distributions like Gentoo, Guix, or LFS).
I prefer to use freebsd jails now. due it's more lightweight and more awesome. But, still LXD is good for me to use as a development environment expecilly for ubuntu, cloud-init and CI/CD solutions.