Why I Ditched Docker Desktop for OrbStack (And Never Looked Back)
Why I Ditched Docker Desktop for OrbStack (And Never Looked Back)
After years of tolerating Docker Desktop's sluggish performance on my MacBook Pro, I finally made the switch to OrbStack. Three months later, I can confidently say it's one of the best decisions I've made for my development workflow. Here's my honest experience and the numbers to back it up.
The Breaking Point with Docker Desktop
We've all been there. You open your laptop, ready to dive into some code, and Docker Desktop decides it needs 2+ minutes to "start the engine." Meanwhile, your fans spin up like a jet engine, and Activity Monitor shows Docker consuming 4GB+ of RAM just sitting idle.
For me, the final straw was when I noticed my M2 MacBook Pro's battery draining 40% faster on days I was running Docker. That's when I discovered OrbStack.
What is OrbStack?
OrbStack is a native macOS application that runs Docker containers and Linux machines. Unlike Docker Desktop (which is built with Electron and runs a full Linux VM), OrbStack is built specifically for macOS with a focus on performance and efficiency.
My Real-World Performance Comparison
I ran the same development stack (Node.js API + PostgreSQL + Redis + Nginx) on both Docker Desktop and OrbStack for a week each. Here's what I found:
Startup Time
Docker Desktop: 47 seconds (cold start)
OrbStack: 2 seconds (cold start)
That's not a typo. OrbStack starts in 2 seconds. The difference is immediately noticeable - you open your laptop and you're ready to work.
Memory Usage (Idle)
Docker Desktop: 3.8 GB RAM
OrbStack: 380 MB RAM
OrbStack uses 10x less memory when idle. This is because of its dynamic memory allocation - it only uses what it needs and releases memory back to the system.
CPU Usage (Running 5 Containers)
Docker Desktop: 8-15% constant background CPU
OrbStack: 0.1-0.5% background CPU
My laptop no longer sounds like it's trying to take off when I have containers running.
File System Performance
This is where things get interesting. I ran a npm install benchmark on a medium-sized Next.js project with mounted volumes:
bash# Docker Desktop with VirtioFS time npm install # Result: 2m 34s # OrbStack time npm install # Result: 48s
3x faster file operations. This makes a massive difference when you're doing file-heavy operations like builds, tests, or hot reloading.
Features That Changed My Workflow
1. Container Domain Names
OrbStack automatically creates .orb.local domain names for your containers:
yaml# docker-compose.yml services: api: image: node:20 # Automatically accessible at: api.orb.local postgres: image: postgres:16 # Automatically accessible at: postgres.orb.local
No more juggling localhost:3000, localhost:5432, etc. Each service gets its own domain. This is especially useful when you're running multiple projects.
2. Native File Access
You can browse container volumes directly in Finder:
bash# Access any container's filesystem open /Volumes/OrbStack/docker/containers/<container-id> # Or use the CLI orb run -m ubuntu cat /etc/os-release
3. Linux Machines
OrbStack isn't just for Docker. You can spin up full Linux VMs in seconds:
bash# Create an Ubuntu machine orb create ubuntu my-dev-machine # SSH into it instantly orb shell my-dev-machine # It's automatically integrated with your Mac # - Shared clipboard # - File access via ~/OrbStack/my-dev-machine # - Network access via my-dev-machine.orb.local
I use this for testing Linux-specific builds and running tools that don't work well on macOS.
4. Kubernetes Support
If you need local Kubernetes, OrbStack has you covered:
bash# Enable Kubernetes (takes ~30 seconds) orb config kubernetes.enabled true # Use kubectl as normal kubectl get pods
It even provides automatic domain names for services: <service>.<namespace>.k8s.orb.local
Migration from Docker Desktop
The migration was surprisingly painless:
bash# 1. Install OrbStack brew install orbstack # 2. Import existing Docker images and volumes orb migrate docker # 3. That's it. Your docker commands work the same. docker ps docker-compose up
All my docker and docker-compose commands worked exactly the same. OrbStack provides a drop-in replacement for the Docker CLI.
The One Caveat: Licensing
OrbStack is free for personal use, but requires a paid license for commercial use ($8/month or $80/year per developer). For me, the productivity gains easily justify this cost - I estimate I save 30+ minutes per day just from faster startup times and file operations.
My Current Setup
Here's my docker-compose.yml template that takes full advantage of OrbStack's features:
yamlversion: '3.8' services: app: build: . volumes: - .:/app - node_modules:/app/node_modules environment: - DATABASE_URL=postgres://postgres:postgres@postgres.orb.local:5432/myapp - REDIS_URL=redis://redis.orb.local:6379 labels: - "dev.orbstack.domains=app.local,api.local" postgres: image: postgres:16-alpine environment: POSTGRES_PASSWORD: postgres POSTGRES_DB: myapp volumes: - postgres_data:/var/lib/postgresql/data redis: image: redis:7-alpine volumes: - redis_data:/data volumes: node_modules: postgres_data: redis_data:
With this setup:
- My app is accessible at
app.orb.localandapi.orb.local - Database connection uses the clean
postgres.orb.localhostname - Everything starts in under 5 seconds
Productivity Impact: The Numbers
After three months with OrbStack, here's my rough estimate of time saved:
| Activity | Docker Desktop | OrbStack | Daily Savings |
|---|---|---|---|
| Morning startup | 2 min | 5 sec | 2 min |
| Container restarts (x5/day) | 30 sec each | 3 sec each | 2.5 min |
| File sync delays | 10 min total | 2 min total | 8 min |
| Waiting for builds | 15 min total | 8 min total | 7 min |
| Total Daily Savings | ~20 min |
That's nearly 7 hours per month of reclaimed development time. Not to mention the mental overhead reduction from not fighting with slow tools.
Should You Switch?
Switch if you:
- Use a Mac for development
- Run Docker containers daily
- Value battery life and system performance
- Work with file-heavy operations (Node.js, hot reloading)
Maybe wait if you:
- Need specific Docker Desktop features (Extensions, Dev Environments)
- Are on a strict corporate policy that mandates Docker Desktop
- Rarely use Docker
Conclusion
OrbStack isn't just a Docker Desktop alternative - it's what Docker Desktop should have been. It's fast, lightweight, and stays out of your way. The native macOS integration makes it feel like containers are a first-class citizen on your Mac.
If you're a developer on macOS and haven't tried OrbStack yet, I'd strongly recommend giving it a shot. The free personal tier lets you experience everything, and the migration takes less than 5 minutes.
Your development environment should accelerate your work, not slow it down. OrbStack finally makes that a reality for container-based development on macOS.
Shreyansh Sheth
Full Stack Developer & AI Engineer with 7+ years of experience building scalable SaaS products and AI-powered solutions.
View Portfolio