Running Docker without Docker Desktop

swyx

0 reactions 2022-05-27

Docker is great. Docker Desktop sucks. Here’s my fix.

TL;DR

  1. brew install colima (colima replaces the docker/dockerd binary)
  2. Install the right docker-compose binary for your chipset from the releases page
    • sudo curl -L https://github.com/docker/compose/releases/download/v2.5.1/docker-compose-darwin-aarch64 -o /usr/local/bin/docker-compose for M1 Macs
    • chmod +x /usr/local/bin/docker-compose to let it execute

Now you can start the docker daemon with colima start. You’ll need to do this the first time you run the docker binary in every session.

You can also run docker-compose up as per normal but without needing Docker Desktop.

Context

Although I am known for loving Docker (the containerization technology), I am also known for being a critic of Docker Desktop (the desktop UI client for Docker) for its poor performance:

The constant upgrade nags until you pay them also don’t inspire any love whatsoever.

Docker Desktop is Docker (the company)‘s first wedge into getting you to run proprietary software, so Docker strongly guides you to download it as the only way to get started:

In fact, new users can go pretty far without even realizing that you don’t need Docker Desktop to run the Docker daemon. I’ve asked multiple people how to do it and nobody had a good answer, or at least, nobody had an answer that worked on M1 Macs, until now.

For my 2022 New Mac Setup guide I resolved to figure it out once and for all, and what you see here is what I ended up with!

OK I’m ready to try it!

You already missed the instructions. scroll up to TL;DR :)

Troubleshooting

A user reported this issue with colima:

FATA[0000] error starting vm: error at ‘starting’: exit status 1

try reinstalling:

brew unlink colima # If it is already installed, uninstall it first

brew install --HEAD colima

colima start --runtime docker

docker ps # success 

Get updates on new posts and projects

3000+ subscribers including my Mom – see past issues

Leave a reaction if you liked this post! 🧡
Webmentions
Loading...