I’ve been running Docker for years now.
Back when everything I ran was Linux-first this all seemed very lightweight,
but then four or so years ago I swapped my dev workflow onto Macs.
(Servers remain Linux though. Why would that change?).
In most respects, the blazing fast M-series macbooks run rings around any previous
laptop I owned (and I never have wifi problems any more!), but there was no escaping
that running Docker felt clunky.
Some of this is architectural. Rather than just being a long-running service, as I was
used to on Linux, the Docker Daemon on macos has to live inside a VM.
This means that whatever packaging of the software you choose, it has to include a
hypervisor to run a VM, a disk image and so on. There’s no escaping this, and it applies
equally to any implementation. You can even roll-your-own: spin up a Linux VM, install
Docker, and then expose the Docker socket to the host mac and you’ve effectively done
the same thing.
OK. That’s not going away. But even so, Docker Desktop still feels clunky.
A large part of this is the UI - why do I need a UI for something I interact with
entirely on the command line? I don’t look at Docker, I run docker build, docker run
and so on. It has a (relatively) friendly command line syntax, it has nice declarative
compose files. I simply don’t need a little window to tell me what’s going on.
And the battery. It eats battery. The M-series macbooks are otherwise very good with
battery and just keep on chugging along forever.
I’ve been aware of various replacements out there but have always been put off a bit by
various difficulties (which might be misunderstandings on my part!).
Podman always seemed promising but I cam across plenty of people complaining it wasn’t
exactly a drop-in replacement for Docker and, at some point in time, it didn’t play
very friendly with Docker compose files.
Orbstack was similarly very highly praised in a lot of places, but at some point they
became paid software. To be fair to them, their free tier is very generous
but its the non-commercial bit that stuck for me. I want to be able to do my job using
as much of the same stack as I do personal projects. It just makes life so much easier
if you minimise the number of different softwares to learn. If I wanted to use Orbstack,
by my reading, I’d need to either convince my job to pay for it or run it just for myself
and keep Docker for work.
Today I tried Colima and it just worked. It really was as simple as:
- Quit Docker Desktop
brew install colima
colima start
docker compose up and off we go…
I’ll be keeping any eye on resource usage over the next few days but so far I’m impressed.
https://github.com/abiosoft/colima