← /writing

Colima: A lightweight alternative to Docker Desktop

Why I Switched from Docker Desktop to Colima

Docker Desktop started to feel bloated, slow, and required system reboots way too often. I wanted a lightweight, open alternative with fewer hiccups and better performance on macOS. Colima (powered by Lima + nerdctl) checked these boxes.


Uninstalling Docker Desktop

I used AppCleaner to ensure everything from Docker Desktop was fully removed:

brew uninstall --cask docker

Installing Colima + Docker CLI

brew install colima docker docker-compose

Make sure Docker CLI points to Colima’s socket:

echo 'export DOCKER_HOST="unix://$HOME/.colima/default/docker.sock"' >> ~/.zshrc
source ~/.zshrc

Starting Colima

colima start --cpu 2 --memory 4 --disk 20 --arch aarch64 --mount-type virtiofs

virtiofs gave better performance than the default.

Optional for Intel compatibility:

colima start --rosetta

Re-creating My Postgres Container

Since Docker Desktop volumes don’t carry over to Colima:

docker run -d \
  --name example-dev-pg-container \
  -p 5432:5432 \
  -e POSTGRES_PASSWORD=postgres \
  -v postgres-data:/var/lib/postgresql/data \
  postgres:17

Getting DDEV to Work with Colima

DDEV detected Colima automatically. I ran:

cd ~/dev/php/laravel/laravel-9-app

# Reset and start DDEV
ddev poweroff
ddev start

It pulled fresh DDEV images (as expected) since Docker Desktop’s images were gone.

Then I launched the project:

ddev launch

Everything worked. Local site accessible at https://laravel-9-app.ddev.site.


Notes on Performance

  • Colima uses far less RAM than Docker Desktop
  • CLI commands feel snappier
  • Good support for DDEV, Postgres, Nginx, and more
  • Volumes and images are not shared with Docker Desktop, so a re-pull is required

Conclusion

Moving from Docker Desktop to Colima was smoother than expected. With just a few commands, I had my entire DDEV + PHP + Postgres workflow running, and it felt lighter and faster. Highly recommend it if you’re on macOS and want more control over your local development stack.