Why Developers Are Leaving Docker Desktop

Docker Desktop changed its licensing in 2022, requiring paid subscriptions for companies with more than 250 employees or $10 million in revenue. That decision launched a migration that's still playing out in 2026. But licensing isn't the only reason developers are switching. Docker Desktop's resource consumption — the always-running VM, the 2+ GB of RAM at idle, the CPU spikes during image builds — has frustrated developers for years. And on macOS, the file system performance of Docker's VM-based volume mounts has been a persistent pain point.

The alternatives have matured dramatically. OrbStack has emerged as the premium Docker replacement on macOS. Podman offers a fundamentally different architecture. Colima provides a free, lightweight VM wrapper. And nerdctl brings Docker-compatible commands to containerd. We tested all four for five weeks on real development projects.

The Contenders

ToolArchitecturePlatformLicensePrice
OrbStackOptimized VM (Apple VZ)macOS onlyProprietaryFree personal / $8/mo team
PodmanDaemonless containersmacOS, Linux, WindowsApache 2.0Free
ColimaLima VM + Docker/containerdmacOS, LinuxMITFree
nerdctlcontainerd CLILinux (native), macOS (via VM)Apache 2.0Free

Colima vs Docker Desktop: Head-to-Head

Most people searching "Colima vs Docker" are really comparing Colima with Docker Desktop. Colima doesn't replace Docker itself. It runs the same Docker Engine (dockerd) and works with the same docker CLI, Dockerfiles, and Compose files. What it replaces is Docker Desktop's VM, GUI, and background services, using a Lima VM that you control from the command line. So the real question is whether you need Docker Desktop's extras. If you don't, Colima is cheaper and lighter.

CategoryColimaDocker Desktop
Container enginedockerd (or containerd) in a Lima VMdockerd in Docker's own VM
License and priceMIT, free for any usePaid subscription required for companies with more than 250 employees or $10M in revenue
PlatformsmacOS, LinuxmacOS, Windows, Linux
InterfaceCLI onlyGUI dashboard + CLI
KubernetesOptional k3s via colima start --kubernetesBuilt-in, toggled in settings
Docker ExtensionsNoYes
Single container start (nginx)1.1s1.2s
Compose stack (6 services)7.8s8.4s
Cold start (VM off)14s12s
npm install on a bind mount38s42s
Next.js hot reload~700ms~800ms
RAM at idle1.2 GB1.8 GB
RAM with 6 containers2.4 GB2.8 GB
CPU at idle1-3%2-5%
Disk (base install)1.8 GB2.1 GB

Where Colima wins: cost and footprint. It is free under the MIT license with no seat count, it used about a third less RAM at idle than Docker Desktop (1.2 GB vs 1.8 GB), and it uses nothing at all after colima stop. Per-project profiles let you give a heavy stack 12 GB and a side project 4 GB without changing a global setting.

Where Docker Desktop wins: convenience and reach. It has a GUI for browsing containers, images, volumes, and logs, one-click Kubernetes, Docker Extensions, and Windows support. Its cold start was also slightly quicker in our tests (12s vs 14s).

Where they tie: speed and compatibility. Both run dockerd in a Linux VM, so day-to-day performance stayed within about 10% in every benchmark, and every Compose file, Dockerfile, and Dev Container in our test stack ran unchanged on both. If you want a big speed jump rather than a cheaper equivalent, look at OrbStack below.

Switching from Docker Desktop to Colima on macOS takes a few minutes:

# Install Colima plus the standalone Docker CLI and Compose plugin
brew install colima docker docker-compose

# Quit Docker Desktop, then start Colima
colima start --cpu 4 --memory 8

# Colima registers its own Docker context
docker context ls
docker context use colima

# On macOS 13+, Apple's Virtualization framework and VirtioFS mounts are available
colima start --vm-type vz --mount-type virtiofs

Images, containers, and volumes live inside each tool's VM, so they don't carry over. Re-pull or rebuild images, and export any volume data you need before you uninstall Docker Desktop. You can keep both installed and switch with docker context use colima or docker context use desktop-linux, but run only one VM at a time to avoid wasting RAM.

Installation and First Run

OrbStack installs via a 50 MB download from orbstack.dev or brew install --cask orbstack. First launch takes about 10 seconds. There's no VM initialization step visible to the user — OrbStack handles everything transparently. You run docker ps and it works. The onboarding experience is the best of any container tool we've tested.

Podman installs via brew install podman on macOS or your package manager on Linux. On macOS, you need to initialize the VM: podman machine init && podman machine start. This downloads a Fedora CoreOS image and takes 60-90 seconds on first run. On Linux, there's no VM — Podman runs natively. You can optionally install Podman Desktop for a GUI.

Colima installs via brew install colima docker. Starting is straightforward: colima start. First run downloads a Lima VM image and takes about 2 minutes. Subsequent starts take 10-15 seconds. Colima creates a Docker socket that the standard Docker CLI connects to automatically.

nerdctl on Linux installs via a single binary download or package manager. On macOS, nerdctl typically runs inside a Lima or Colima VM. It's not a standalone macOS solution — it's a CLI that talks to containerd. For this review, we tested nerdctl on Linux natively and on macOS via Colima's containerd backend.

Docker Compatibility: The Practical Test

We tested each tool against a real-world development stack: a docker-compose.yml with PostgreSQL, Redis, a Node.js API, a Python worker, a React frontend, and nginx. We also tested VS Code Dev Containers, multi-stage builds, volume mounts, networking, and the Docker socket API.

FeatureOrbStackPodmanColimanerdctl
docker CLI commands✅ Drop-in✅ Alias works✅ Via Docker CLI⚠️ nerdctl (mostly compatible)
Docker Compose v2✅ Full⚠️ podman-compose (gaps)✅ Full⚠️ nerdctl compose (gaps)
Dockerfile builds✅ BuildKit✅ Buildah✅ BuildKit✅ BuildKit
Docker socket (/var/run/docker.sock)✅⚠️ Emulated✅❌ Different socket
VS Code Dev Containers✅ Works perfectly⚠️ Needs config✅ Works❌ Not supported
Docker Extensions❌❌❌❌
Testcontainers✅⚠️ Needs DOCKER_HOST✅⚠️ Needs config

OrbStack provides the highest Docker compatibility of any alternative. It implements the Docker API so faithfully that we could not find a single workflow that broke when switching from Docker Desktop. Every Dockerfile, every Compose file, every tool that talks to the Docker socket worked without modification. This is OrbStack's core value proposition and it delivers.

Podman achieves 90-95% compatibility. The podman command accepts the same flags as docker, and aliasing works for most workflows. The gaps are in Docker Compose (podman-compose handles basic cases but struggles with advanced features like profiles, service dependencies with health checks, and some networking modes) and tools that directly access the Docker socket. Podman's socket emulation works but occasionally breaks tools that make assumptions about the Docker API version.

Colima is essentially Docker running in a different VM. Because it uses the actual Docker daemon (dockerd) inside a Lima VM, compatibility is near-perfect. The Docker CLI, Docker Compose, and Docker socket all work as expected. The only differences from Docker Desktop are in VM management and resource allocation.

nerdctl is the least compatible option. While it aims for Docker CLI compatibility, differences in image management, networking, and compose support mean you'll hit friction regularly. nerdctl is best suited for developers who are comfortable with containerd directly and don't need exact Docker compatibility.

Performance: Where Alternatives Shine

This is where the Docker alternatives justify their existence. We benchmarked container startup time, image build speed, volume mount performance, and resource consumption.

Container Startup Time

ScenarioDocker DesktopOrbStackPodmanColima
Single container (nginx)1.2s0.4s0.8s1.1s
Compose stack (6 services)8.4s3.2s6.1s7.8s
Cold start (from VM off)12s2s8s14s

OrbStack's startup performance is extraordinary. A cold start from VM off to running containers in 2 seconds is roughly 6x faster than Docker Desktop. The secret is OrbStack's deeply optimized VM layer, which uses Apple's Virtualization framework with custom optimizations for container workloads. The VM is so fast to start that you can configure OrbStack to stop the VM when idle and restart it on demand with no perceptible delay.

File System Performance (Volume Mounts)

This is the benchmark that matters most for local development. When you mount your source code into a container with -v $(pwd):/app, the file system performance determines how fast your hot-reload works, how fast your tests run, and how responsive your development experience feels.

BenchmarkDocker DesktopOrbStackPodmanColima
Read 10K files3.8s0.9s2.1s3.2s
Write 10K files5.2s1.1s3.4s4.8s
npm install (node_modules)42s14s28s38s
Next.js hot reload~800ms~150ms~400ms~700ms

OrbStack's file system performance is 3-4x faster than Docker Desktop. The difference is immediately noticeable in development workflows. A Next.js hot reload that takes 800ms with Docker Desktop takes 150ms with OrbStack. An npm install that takes 42 seconds takes 14 seconds. Over a full day of development, this adds up to minutes of saved waiting time.

The technical reason: OrbStack uses VirtioFS with custom patches that reduce the overhead of cross-VM file operations. Docker Desktop also uses VirtioFS (replacing the older gRPC FUSE and osxfs), but OrbStack's implementation is more aggressively optimized.

Podman's file system performance is solid — better than Docker Desktop but behind OrbStack. Colima, using the same Lima VM layer, performs similarly to Docker Desktop.

Resource Consumption

MetricDocker DesktopOrbStackPodmanColima
RAM (idle)1.8 GB0.4 GB0.8 GB1.2 GB
RAM (6 containers running)2.8 GB1.1 GB1.6 GB2.4 GB
Disk (base install)2.1 GB0.6 GB1.4 GB1.8 GB
CPU idle (%)2-5%0.1-0.5%0.5-1%1-3%
Battery impactNoticeableMinimalLowNoticeable

OrbStack uses 4.5x less RAM at idle than Docker Desktop. The difference in CPU usage is even more dramatic — OrbStack's VM essentially sleeps when no containers are running, consuming near-zero CPU. Docker Desktop's daemon and associated processes maintain a steady 2-5% CPU usage even with no containers running, which impacts battery life on laptops.

Podman's daemonless architecture shows its advantage here: when no containers are running, the Podman VM on macOS uses minimal resources. On Linux, where Podman runs natively without a VM, the overhead is essentially zero.

OrbStack: The Premium Docker Replacement

OrbStack has become the gold standard for container development on macOS. Beyond containers, OrbStack runs lightweight Linux machines — full Ubuntu, Fedora, or Arch VMs that start in under a second and integrate with your macOS file system. You can run orb ubuntu and get a Linux shell instantly, with your home directory automatically mounted.

Key OrbStack features beyond basic Docker compatibility:

  • Automatic domain routing — Each container gets a .orb.local domain. A container named api is accessible at api.orb.local from your Mac. No port mapping needed for development.
  • Kubernetes — Built-in single-node Kubernetes cluster, similar to Docker Desktop but faster to start.
  • Linux machines — Run full Linux distributions alongside containers. Useful for testing Linux-specific tools or running development environments that require Linux.
  • Migration tool — OrbStack can import your Docker Desktop images, volumes, and containers. Switching takes minutes.
  • Network integration — Containers can access each other by name, and your Mac can access containers without explicit port mapping. This simplifies docker-compose networking significantly.

The main downsides: OrbStack is macOS-only and proprietary. The personal tier is free, but team use requires $8/user/month. If you need cross-platform support or prefer open source, OrbStack isn't an option.

Podman: The Architecture Argument

Podman's value proposition goes beyond "free Docker alternative." Its daemonless, rootless architecture is fundamentally more secure than Docker's daemon-based model.

In Docker's model, all container operations go through a central daemon running as root. A vulnerability in the daemon can compromise the entire system. In Podman's model, each container is a direct child process of the command that started it, running as your user. There is no privileged daemon. This means:

  • Container escapes are limited to your user's permissions, not root
  • No persistent daemon process consuming resources when idle
  • Systemd integration allows containers to run as system services
  • Multiple users can run containers independently without interfering

Podman's compatibility with Docker has improved steadily. The podman CLI now handles 95%+ of Docker commands identically. Podman Desktop provides a GUI that manages both containers and pods (groups of containers that share a network namespace, similar to Kubernetes pods).

For teams on Linux, Podman is the clear recommendation. No VM, no overhead, rootless security, and perfect compatibility with CI pipelines that use podman or buildah. On macOS, Podman is a solid choice but requires accepting the VM overhead and occasional Docker compatibility gaps.

Colima: The Free and Simple Option

Colima is a Lima wrapper that provides Docker (or containerd) in a lightweight VM. Its appeal is simplicity: colima start gives you a working Docker environment. colima stop shuts it down. There's no GUI, no account, no configuration wizard.

# Start with custom resources
colima start --cpu 4 --memory 8 --disk 60

# Use Docker normally
docker compose up -d

# Stop when done
colima stop

Colima supports multiple profiles, so you can have different VM configurations for different projects:

# Heavy project with lots of containers
colima start --profile heavy --cpu 6 --memory 12

# Light project
colima start --profile light --cpu 2 --memory 4

Colima's performance is similar to Docker Desktop because it uses the same underlying components (dockerd + containerd in a Linux VM). The advantage is resource control — you can stop the VM when not in use and configure resources per-project. The disadvantage is that Colima doesn't have OrbStack's optimized VM layer, so file system performance and startup time are mediocre.

Colima is the best choice for developers who want a free, open-source, no-nonsense Docker environment without the overhead of Docker Desktop's GUI and background services.

nerdctl: For the containerd Native

nerdctl is a Docker-compatible CLI for containerd, the container runtime that powers Kubernetes. It's not a Docker replacement in the traditional sense — it's an alternative interface to a different (but compatible) runtime.

nerdctl's strengths are in areas where it leverages containerd's capabilities:

  • Image encryption — nerdctl supports encrypted container images natively
  • Lazy pulling — With eStargz or SOCI indexes, nerdctl can start containers before the full image is downloaded
  • Namespace isolation — containerd namespaces provide stronger isolation between different users or projects
  • Kubernetes alignment — Running the same runtime locally that you use in production reduces "works on my machine" issues

The reality is that nerdctl is best suited for platform engineers and DevOps professionals who work directly with containerd. For most application developers, the compatibility gaps with Docker Compose and the lack of a polished macOS experience make nerdctl impractical as a daily driver.

Migration Guide: Switching from Docker Desktop

Regardless of which alternative you choose, the migration path follows the same pattern:

  1. Export important volumes — Back up any Docker volumes that contain data you need to preserve
  2. Note your compose files — Identify all docker-compose.yml files in your projects
  3. Install the alternative — Follow the installation steps above
  4. Test your workflows — Run your most common docker commands and compose stacks
  5. Update CI/CD — If your CI uses Docker, verify the alternative works in that context (or keep Docker for CI)
  6. Uninstall Docker Desktop — Only after confirming everything works

OrbStack makes this easiest with its built-in migration tool. For Podman and Colima, the process is manual but straightforward — your Dockerfiles and compose files don't change, only the runtime underneath them.

Who Should Use What

Choose OrbStack if:

  • You develop on macOS and want the best performance
  • Docker compatibility is non-negotiable
  • You value polished developer experience
  • Battery life and resource usage matter
  • You're willing to use a proprietary tool

Choose Podman if:

  • Security architecture matters (rootless, daemonless)
  • You work primarily on Linux
  • Cross-platform support is needed
  • You prefer open-source tools
  • Your team is large enough that Docker licensing is expensive

Choose Colima if:

  • You want free, open-source, and simple
  • Full Docker compatibility is needed (it runs actual dockerd)
  • You don't need the best performance, just functional containers
  • You prefer CLI-only tools
  • You want per-project VM resource control

Choose nerdctl if:

  • You're a platform engineer working with containerd
  • You want runtime parity with your Kubernetes clusters
  • Advanced containerd features (encryption, lazy pulling) matter
  • You're comfortable with occasional Docker compatibility gaps

The Verdict

OrbStack is the best Docker alternative for local development on macOS in 2026. Its performance advantages are substantial — 3-4x faster file system operations, 4.5x less RAM, and near-instant startup. The Docker compatibility is flawless. If you develop on a Mac and your only hesitation is using a proprietary tool, get over it. OrbStack is that good.

Podman is the best choice for Linux developers and security-conscious teams. Its rootless architecture is genuinely more secure, and on Linux it runs with zero overhead. The Docker compatibility gaps are narrowing with every release, and for most workflows, alias docker=podman is all you need.

Colima is the best free option for developers who want Docker compatibility without Docker Desktop's overhead. It won't wow you with performance, but it works reliably and costs nothing.

nerdctl is a specialized tool for specialized users. If you know you need it, you probably already know why.

The Docker Desktop era is ending. Not because Docker Desktop is bad — it's actually improved significantly — but because the alternatives are now better for most use cases. The container runtime is a commodity. What matters is the developer experience built on top of it, and that's where OrbStack, Podman, and Colima have pulled ahead.

Frequently Asked Questions

Is Colima better than Docker Desktop?

Colima is better if you want a free, lightweight, CLI-only way to run Docker on macOS or Linux. It is MIT-licensed with no seat fees, used 1.2 GB of RAM at idle versus 1.8 GB for Docker Desktop in our tests, and runs the same dockerd engine, so Compose files and Dockerfiles work unchanged. Docker Desktop is better if you need a GUI, Windows support, Docker Extensions, or one-click Kubernetes. Speed is about the same: both stayed within roughly 10% of each other in our startup and file-mount benchmarks.

Does Colima replace Docker?

Colima replaces Docker Desktop, not Docker itself. It starts a Lima VM that runs the real Docker Engine (dockerd), and you keep using the standard docker CLI and Docker Compose against it. On macOS you install it with brew install colima docker docker-compose, run colima start, and Colima registers a colima Docker context that the docker command uses.

Can I run Colima and Docker Desktop on the same Mac?

Yes. Both can be installed side by side, and you switch between them with docker context use colima or docker context use desktop-linux. Images, containers, and volumes are stored separately in each tool's VM, so they don't carry over, and running both VMs at once wastes RAM. Stop one before you start the other.

What is the best Docker Desktop alternative in 2026?

OrbStack is the best overall replacement on macOS, scoring 9.0 in our review thanks to drop-in Docker compatibility, 3 to 4x faster file system mounts, and 4.5x lower idle RAM. Podman scores 8.4 and is the best pick on Linux and for teams that want a free, Apache 2.0, daemonless, rootless architecture across macOS, Linux, and Windows. Colima scores 8.0 as the best free, MIT-licensed option on macOS and Linux when you want actual dockerd inside a simple CLI-managed Lima VM. nerdctl scores 7.6 and fits platform engineers working directly with containerd.

How much faster is OrbStack than Docker Desktop?

In our benchmarks, OrbStack cold-started from VM off in 2 seconds versus 12 seconds for Docker Desktop, started a single nginx container in 0.4s versus 1.2s, and brought up a 6-service Compose stack in 3.2s versus 8.4s. On bind-mounted volumes using VirtioFS, OrbStack read 10,000 files in 0.9s versus 3.8s, wrote 10,000 files in 1.1s versus 5.2s, finished npm install in 14s versus 42s, and cut Next.js hot reload from about 800ms to about 150ms.

How much RAM and CPU do OrbStack, Podman, and Colima use compared to Docker Desktop?

At idle, Docker Desktop used 1.8 GB of RAM and 2 to 5% CPU, compared with 0.4 GB and 0.1 to 0.5% CPU for OrbStack, 0.8 GB and 0.5 to 1% CPU for Podman, and 1.2 GB and 1 to 3% CPU for Colima. With 6 containers running, RAM rose to 2.8 GB on Docker Desktop, 1.1 GB on OrbStack, 1.6 GB on Podman, and 2.4 GB on Colima. Base disk footprint was 2.1 GB for Docker Desktop, 0.6 GB for OrbStack, 1.4 GB for Podman, and 1.8 GB for Colima.

Are OrbStack, Podman, and Colima free for commercial use?

Docker Desktop requires a paid subscription at companies with more than 250 employees or $10 million in revenue. Podman and nerdctl are free under the Apache 2.0 license, and Colima is free under the MIT license. OrbStack is proprietary: its personal tier is free, and commercial team use costs $8 per user per month.

Which Docker alternative has the best Docker Compose and Dev Containers compatibility?

OrbStack and Colima both support the docker CLI, Docker Compose v2, BuildKit builds, the /var/run/docker.sock socket, VS Code Dev Containers, and Testcontainers without modification. Podman reaches 90 to 95% compatibility: aliasing docker to podman works for most commands, but podman-compose has gaps with profiles, health-check service dependencies, and some networking modes, and Dev Containers or Testcontainers need extra configuration such as DOCKER_HOST. nerdctl has the widest gaps and does not support VS Code Dev Containers.

Why do teams choose Podman over Docker?

Podman runs daemonless and rootless. Instead of routing every operation through a central root daemon, Podman runs each container as a direct child process under your user account, so container escapes are limited to your user permissions and nothing consumes resources when idle. It also integrates with systemd to run containers as system services, runs natively on Linux with zero VM overhead, and includes the optional Podman Desktop GUI for containers and pods.

When should I choose Colima over OrbStack or Podman?

Choose Colima when you want a free, open-source, CLI-only setup on macOS or Linux that still runs the real Docker daemon (dockerd) for near-perfect Docker, Compose, and socket compatibility. You start it with colima start, shut the VM down completely with colima stop, and size per-project VMs with flags like colima start --profile heavy --cpu 6 --memory 12.

How do I migrate from Docker Desktop to OrbStack, Podman, or Colima?

Back up any Docker volumes whose data you need to keep, list the docker-compose.yml files across your projects, install your chosen runtime, test your daily docker and compose workflows, verify any CI/CD assumptions, and uninstall Docker Desktop only after everything works. OrbStack includes a built-in migration tool that imports Docker Desktop images, volumes, and containers in minutes, while Podman and Colima migrations are manual but keep your existing Dockerfiles and Compose files unchanged.

Get OrbStack · Install Podman · Install Colima · Get nerdctl