I’ve always wanted to share the cool things I come across in my day job, but I’ve held back, fearing I wouldn’t produce something worthwhile. However, I’m ready to change that and start writing about whatever I feel like, hoping that someday it will be worth reading.
Today, I want to talk about a piece of open-source software that I’ve been using on my Apple Silicon Mac for almost two years now Lima.
Lima is a CLI application designed to promote containerD and nerdctl, but I’ve been using it as an alternative to VMware and VirtualBox. In my previous job, I worked on developing a monitoring agent responsible for APM, logs, and traces. Since it’s a monitoring tool, it had to run on various different distributions and architectures. I used Lima to spin up all those virtual machines.
Spining up virtual machines with Lima is very simple once you install it
Need a VM with Fedora? Just execute the below command:
$ limactl start --name fedora template://fedora
Need a Docker environment without having to deal with Docker Desktop?
$ limactl start --name default template://docker
Want to list out all your instances?
$ limactl list
NAME STATUS SSH VMTYPE ARCH CPUS MEMORY DISK DIR
docker Started 127.0.0.1:0 vz aarch64 4 4GiB 100GiB ~/.lima/docker
fedora Stopped 127.0.0.1:0 vz aarch64 4 4GiB 100GiB ~/.lima/fedora
Want to get shell access to any instance?
$ limactl shell docker
And on top of all of this, Lima forwards all the ports that are exposed on the virtual machines automatically to the host machine, which makes it a breeze for any kind of Docker development.
I don’t know how good of a project Lima is for promoting containerD, but I can vouch for one thing: this tool is the best virtualization and Docker solution out there for Apple Silicon Macs.