Docker without Docker Desktop: Alternative Backends

Docker without Docker Desktop: Alternative Backends
Photo by Ian Taylor / Unsplash

Docker is not a free software, if you are using it for business purposes. So, it's not surprising that some companies have already developed their own in-house software for running Docker containers. In fact, Docker client has a built-in method to let you switch to another backend.

Docker contexts
Learn about managing multiple daemons from a single client with contexts

Why does it matter for a user of Docker who only cares about free-tier personal usage? It's because people have been complaining about the Docker Desktop client on their OS platform to be too redundant and resource-intensive.

For example, I have been working on some personal projects which I packaged them into docker containers. When I run all the containers together through docker compose I can easily have around ~3.4GB of memory eaten up by Docker. What's worse is that my Mac Mini only has 8GB of memory. This large consumption of memory immediately slowed down my computer and you can easily notice it.

And then I happened to see the discussions of different Docker backends. Maybe this could make some differences?

So I gave OrbStack a shot.

OrbStack · Fast, light, simple Docker & Linux
Say goodbye to slow, clunky containers and VMs. The fast, light, and easy way to run containers and Linux. Develop at lightspeed with our Docker Desktop alternative.

Migrating from Docker Desktop to OrbStack is super easy. You just need to click a button to confirm the migration and everything (i.e. images, volumes, etc.) in your Docker Desktop will show up in OrbStack.

Then I run docker context use orbstack to confirm that I am using the OrbStack backend rather than the original backend.

At last, I run the same docker compose command of my personal projects, and I am surprised to find out that the memory consumption drops to around 1~2GB only. Though further validation of performance, compatibility etc. shall still be conducted, it is a very nice first impression.

However, I should point out that OrbStack is not your only choice when it comes to different backends. Common ones also include:

GitHub - containers/podman: Podman: A tool for managing OCI containers and pods.
Podman: A tool for managing OCI containers and pods. - containers/podman

and

GitHub - abiosoft/colima: Container runtimes on macOS (and Linux) with minimal setup
Container runtimes on macOS (and Linux) with minimal setup - abiosoft/colima

I haven't got the chance to fully evaluate each of the three to come up with a which-is-better answer.

Phew, maybe I can stick to my 8GB Mac for a bit of longer time.