October 03, 2022
Use Lima as a Docker Desktop replacement on MacOS
Lima (short for Linux on Mac) is a Virtual Machine management tool for running Linux boxes (think Vagrant, but for development tooling). It focuses on offering a convenient way to run and interact with containerd
, but its high customizability allows for a lot more. The examples folder in its repository gives a good idea of its capabilities.
For running Lima as a Docker Desktop replacement, the official example provided is a great starting point with a few shortcomings:
- mounting only a temporary folder (
/tmp/lima
) as writable - not including support for building and running multi-arch containers
To circumvent these issues, download this YAML and run:
limactl start docker.yml
If docker login
gives you trouble, make sure that ~/.docker/config.json
uses osxkeychain
as the credsStore
. Example:
{
"auths": {},
"credsStore": "osxkeychain"
}
Considerations about chown and chmod
Lima uses Reverse SSHFS by default to mount folders from host to guest. This strategy provides good compatibility but can cause problems in some cases. For instance, Containers that run chown
on startup like Jupyter and Gogs might not be able to start up at all.
In some situations, you might need to experiment with 9p
and reverse-sshfs
as mount types.