If you run containers on a Mac, you know the cycle: Docker Desktop on day one, a VM that quietly keeps gigabytes of RAM it no longer needs, and eventually a procurement question about Docker Business seats. That is when the search for an alternative starts.
A few years ago the answer was Rancher Desktop: open source, free, with Kubernetes built in. Today the field is wider. OrbStack has become the default recommendation in many Mac-heavy teams, Colima is the favourite of people who live in the terminal, Podman Desktop is the choice when you want rootless containers and cross-platform parity, and Apple now ships its own container tool. Docker Desktop, meanwhile, has not stood still either.
This article is a practical comparison centred on OrbStack: what it actually is, why it feels lighter, what it costs, where it falls short, and how it stacks up against Docker Desktop, Rancher Desktop, Colima, Podman Desktop and Apple’s container. It ends with a decision tree, a step-by-step migration from Docker Desktop and the gotchas that tend to bite in the first week.
All versions and prices below were checked against the vendors’ own pages on 8 October 2026.
What OrbStack Is
OrbStack is a macOS application that runs Docker containers, a local Kubernetes cluster and full Linux machines inside a single lightweight Linux virtual machine. From your terminal it looks exactly like Docker: the docker CLI, docker compose and docker buildx work unchanged because OrbStack runs a real Docker engine (Docker 29.4 at the time of writing) and exposes the standard socket.
The difference is everything around that engine. OrbStack is not an Electron app wrapped around a generic VM. Its services are written in Swift, Go, Rust and C and are purpose-built for this one job. According to its developer, it no longer even relies on Apple’s Virtualization.framework: it runs a custom Rust virtualization stack with its own devices and protocols for things like file sharing (Hacker News comment by the OrbStack developer). The model is close to WSL2 on Windows: one shared Linux kernel (Linux 7.0 in the current release) hosting your containers and any Linux “machines” you create.
The current release is OrbStack 2.2.3 (7 August 2026). It requires macOS 14 or newer and ships separate builds for Apple Silicon and Intel Macs (OrbStack FAQ, release notes).
Why OrbStack Feels Lighter
“It’s faster” is the claim everyone repeats, so it is worth being precise about where the difference comes from. There are four mechanisms, and none of them is magic.
Dynamic memory
Classic Docker-on-Mac setups give the VM a fixed memory allocation. Once the Linux kernel inside the VM has touched a page, macOS considers it used, even after the container that needed it has exited. The result is the familiar picture of a VM holding gigabytes it is not using while macOS compresses and swaps everything else.
Since version 1.7 (August 2024), OrbStack tracks which parts of the guest’s RAM are actually in use and hands unused memory back to macOS. Its own write-up shows memory usage and pressure dropping as soon as containers stop (OrbStack blog: dynamic memory). This is the biggest reason people notice the difference on 16 GB laptops; Docker Desktop’s Resource Saver only pauses the VM when idle.
Idle CPU
OrbStack states that it uses about 0.1% CPU when idle, often dropping to 0% (OrbStack efficiency docs). That is a vendor figure, not an independent benchmark, but it matches the general experience: an idle OrbStack is close to invisible in Activity Monitor and on battery life.
File sharing
Bind-mounting your source tree into a container is the slowest part of Docker on macOS, because every file operation crosses the VM boundary. OrbStack uses its own file-sharing implementation with aggressive caching instead of a generic VirtioFS setup. Workloads with many small file operations (npm install, PHP frameworks, large Git repositories mounted into a container) are where you notice it most.
Networking
OrbStack ships a custom virtual network stack. Besides being fast, it removes a whole class of friction: containers get their own reachable IPs and .orb.local domain names, IPv6 works, and ping and traceroute behave as expected.
OrbStack Features That Change Daily Work
The engine is the same Docker you already know, so the interesting part is what OrbStack adds around it.
Container domains and direct IP access
Every container gets a domain name: container-name.orb.local, or service.project.orb.local for Compose projects. OrbStack detects which port is serving HTTP, so http://web.myapp.orb.local simply works without remembering whether you mapped 8080 or 8081. It also provides automatic HTTPS for those domains, generating and trusting the certificates for you (container domains docs).
You can add your own domains with a label:
services:
api:
image: my-api:dev
labels:
- dev.orbstack.domains=api.myapp.local
- dev.orbstack.http-port=8080Two caveats: custom domains must be under .local, and the feature depends on the “Allow access to container domains & IPs” setting under Settings → Network.
Kubernetes in one command
OrbStack includes a single-node Kubernetes cluster aimed at development, currently on Kubernetes 1.35 (release notes). OrbStack does not market which distribution it ships, but its internals point to k3s.
orb start k8s
kubectl config use-context orbstack
kubectl get nodesThe integration is what makes it pleasant. Images you build with docker build are immediately available to pods without pushing to a registry. LoadBalancer services and ingresses are reachable at *.k8s.orb.local, NodePorts on localhost, and you can reach ClusterIP services and even pod IPs directly from macOS (Kubernetes docs). By default, NodePorts and LoadBalancer ports are only exposed to localhost; you have to opt in to expose them on your LAN.
Linux machines
OrbStack also runs full Linux distributions (Ubuntu, Debian, Fedora, Arch and others) as “machines” that share the same VM, boot in seconds and mount your Mac’s files: a lighter replacement for a Multipass or UTM VM.
x86 images on Apple Silicon
OrbStack uses Rosetta, not QEMU, to run linux/amd64 containers on Apple Silicon:
docker run --platform linux/amd64 alpine uname -m
docker build --platform linux/amd64 -t my-app:amd64 .You can make it the default with export DOCKER_DEFAULT_PLATFORM=linux/amd64, although on an M-series Mac you should only do that for images that really have no arm64 variant.
Recent additions
The 2.x releases have been busy: a Builds tab with Docker build history and logs, an activity monitor with CPU, memory and disk graphs, a file manager for containers and volumes, an integrated terminal, per-machine resource limits, and USB device and sound passthrough (release notes). The Debug Shell for containers, a convenient way to get a full toolbox inside a minimal image, is reserved for the Pro plan. If you debug distroless images regularly, kubectl debug and the techniques in our distroless debugging guide cover the same ground for free.
OrbStack Pricing and Licence
This is where many teams get surprised, so it is worth stating plainly: OrbStack is not free for work.
| Plan | Price (checked 8 Oct 2026) | Allowed use |
|---|---|---|
| Free | $0 | Personal, non-commercial use only |
| Pro | $8 per user per month, or $96 per user per year | Business and commercial use; adds the Debug Shell and priority support |
| Enterprise | Custom | Adds SAML SSO and invoice/PO payment |
Source: orbstack.dev/pricing and the FAQ. Unlike Docker, OrbStack sets no company-size or revenue threshold: any commercial use requires Pro, including freelancers and non-profits. Students can request free licences, and open-source developers can get one for non-commercial projects.
Compare that with Docker Desktop, which stays free for companies with fewer than 250 employees and less than $10 million in annual revenue and requires a paid plan above either threshold. Docker’s plans are Pro at $9 per user per month billed annually ($11 monthly), Team at $15 ($16 monthly) and Business at $24 (docker.com/pricing).
So the cost comparison flips depending on who you are. For a five-person startup, Docker Desktop is free and OrbStack costs $480 a year. For a 400-person company, OrbStack Pro at $96 per seat per year is well below Docker Business at $288, and in the same range as Docker Pro, though Docker Pro is meant for individuals and larger organisations normally end up on Team or Business. Also note that OrbStack is closed source. Some components are open, but the product is not, which matters for teams with an “OSS-only on developer machines” policy.
The Alternatives at a Glance
Here is how OrbStack compares with the other realistic options on macOS in October 2026.
| OrbStack | Docker Desktop | Rancher Desktop | Colima | Podman Desktop | Apple container | |
|---|---|---|---|---|---|---|
| Current version | 2.2.3 (Aug 2026) | 4.94.0 (Oct 2026) | 1.24.0 (Jul 2026) | 0.10.3 (Jun 2026) | 1.29.3 (Sep 2026) | 1.5.0 (Sep 2026) |
| Licence | Proprietary | Proprietary | Apache-2.0 | MIT | Apache-2.0 | Apache-2.0 |
| Cost for work use | $8/user/month | Free under 250 employees and $10M; paid above | Free | Free | Free | Free |
| Platforms | macOS only | macOS, Windows, Linux | macOS, Windows, Linux | macOS, Linux | macOS, Windows, Linux | macOS 26+, Apple Silicon only |
| GUI | Native macOS app | Electron app | Electron app | None (CLI) | Electron app | None (CLI) |
| Engine | Docker | Docker | Docker (moby) or containerd/nerdctl | Docker, containerd or Incus | Podman (Docker-compatible API) | Own runtime, one VM per container |
| Kubernetes | Built-in single node | Built-in, including multi-node kind clusters | k3s, version selectable | k3s with --kubernetes | Via kind/Minikube extensions | Experimental |
| x86 on Apple Silicon | Rosetta | Rosetta | Rosetta (VZ mode) | Rosetta with --vz-rosetta | QEMU emulation by default; Rosetta only with the applehv provider and rosetta = true (off by default since Podman 6) | Rosetta (--arch amd64) |
| Standout feature | Speed, memory, .orb.local domains | Ecosystem, extensions, Model Runner | Free and OSS with Kubernetes | Minimal, scriptable | Rootless, cross-platform | Strong isolation, Apple-native |
Sources: vendor release pages for Docker Desktop, Rancher Desktop, Colima, Podman Desktop and Apple container.
Docker Desktop
Docker Desktop is still the reference implementation, and in 2026 it has more going for it than its reputation suggests. Recent releases added Docker Model Runner for local LLM inference, kind-based multi-node Kubernetes clusters provisioned from the dashboard, a unified logs view, and a beta of Docker VMM, Docker’s own container-optimised hypervisor for Mac and Windows. It also has the extensions marketplace, Enhanced Container Isolation and the centrally managed settings that security teams like.
Its weak points started the exodus: it is heavier at idle and the licence becomes a procurement topic past 250 employees or $10M. If your company already pays for Docker Business for Hub, Scout or Build Cloud, though, Desktop is effectively included, and that changes the calculation.
Rancher Desktop
Rancher Desktop, maintained by SUSE, remains the best fully free and open-source option if Kubernetes is central to your workflow. It ships k3s with a version selector (handy for testing against the exact minor version you run in production), lets you choose between the Docker engine and containerd with nerdctl, and runs on all three desktop operating systems. On macOS it is built on Lima.
It is heavier than OrbStack and file sharing is slower, but it is free and open. Our Docker Desktop to Rancher Desktop migration guide covers that path in detail.
Colima
Colima (“Containers on Lima”) is the minimalist’s choice: an MIT-licensed CLI that starts a Lima VM with Docker, containerd or Incus inside, optionally with k3s.
brew install colima docker
colima start --cpu 4 --memory 8 --vm-type vz --vz-rosetta
colima start --kubernetes # optional k3sThere is no GUI, no domain magic and no dynamic memory: you size the VM up front. In exchange it is free, scriptable and predictable, and it also runs on Linux. Recent versions add GPU-accelerated AI workloads through the krunkit VM type.
Podman Desktop
Podman Desktop, led by Red Hat, puts a GUI on top of Podman: daemonless, rootless by default, and with a Docker-compatible API, so most docker tooling works against it. It runs on macOS, Windows and Linux, which makes it attractive for mixed-OS teams and for organisations that standardise on Red Hat tooling. Kubernetes comes through kind or Minikube extensions, and Podman’s native pod concept maps nicely to Kubernetes manifests.
The trade-off is compatibility at the edges: rootless networking and tools that assume a real Docker daemon occasionally need workarounds.
Apple container
Apple’s own container tool, announced at WWDC 2025 and now at version 1.5.0, takes a different approach: each container runs in its own lightweight VM, built on Apple’s Containerization Swift package. That gives strong isolation and good Apple Silicon integration, and the tool is OCI-compatible, so it pulls and pushes standard images.
It requires macOS 26 and Apple Silicon, it is CLI-only, and the project is explicit that experimental features (such as the k8s subcommand) can change without compatibility guarantees. In late 2026 it is a technology to watch and a good option for running isolated one-off containers, but not yet a drop-in replacement for a Docker-based development workflow built on Compose.
Which One Should You Choose?
A short decision tree that matches what we see in practice:
Is anyone on the team on Windows or Linux and do you want one tool for everyone? Choose Docker Desktop if you are under the licence thresholds or already pay for Docker, otherwise Podman Desktop or Rancher Desktop. OrbStack and Apple container are macOS-only.
Is everyone on a Mac and do you care most about battery, memory and day-to-day speed? Choose OrbStack. For commercial use, budget $96 per developer per year.
Must the tool be free and open source? Choose Rancher Desktop if you want a GUI and Kubernetes with a version selector, Colima if you prefer a CLI, and Podman Desktop if you want rootless containers.
Is Kubernetes fidelity the main requirement (multi-node, specific versions, CNI experiments)? None of the desktop apps is ideal. Use kind or k3d on top of whatever engine you pick, or Docker Desktop’s kind integration. OrbStack’s built-in cluster is excellent for running an app against Kubernetes, but deliberately simple.
Do you rely on Docker Desktop extensions, Docker Scout in the GUI or Model Runner? Stay on Docker Desktop.
Migrating from Docker Desktop to OrbStack
The migration is genuinely easy, which is part of OrbStack’s appeal. Plan for about 30 minutes, most of it copying images and volumes.
1. Install OrbStack
Download it from orbstack.dev or install it with Homebrew:
brew install --cask orbstackOn first launch OrbStack creates a Docker context called orbstack and switches your CLI to it. It also creates the /var/run/docker.sock symlink (it asks for admin rights) so that tools hard-coded to that path keep working.
2. Migrate your data
OrbStack can copy your containers, volumes and images from Docker Desktop. It offers this on first start, and you can run it at any time later:
orb docker migrateThe same option is available in the menu under File → Migrate Docker Data. The migration creates a copy, so your Docker Desktop data stays intact until you decide to remove it (install docs).
If you only care about a handful of images, it is often cleaner to rebuild or re-pull them and start fresh. This is also a good moment to take stock of what has accumulated: our guide to keeping local Docker disk usage under control applies to OrbStack too.
3. Check the context and run a smoke test
docker context ls
docker context use orbstack
docker run --rm hello-world
docker compose up -d # in one of your projectsYou can keep both tools installed and switch with docker context use desktop-linux and docker context use orbstack, but do not run both engines at the same time on a memory-constrained laptop.
4. Log in to your registries again
Docker Desktop uses its own desktop credential helper; OrbStack uses osxkeychain. Expect to run docker login again for each private registry, and check ~/.docker/config.json if a CI script suddenly cannot pull.
5. Turn on Kubernetes if you need it
orb start k8s
kubectl config use-context orbstackRemember that locally built images are only used if Kubernetes does not try to pull them first. Use a non-latest tag or set imagePullPolicy: IfNotPresent.
6. Quit, then uninstall Docker Desktop
After a week without surprises, quit Docker Desktop, remove it from login items and uninstall it. Its VM disk image can be tens of gigabytes, so this alone often frees noticeable space.
Local Kubernetes: OrbStack’s Cluster vs kind and k3d
OrbStack’s built-in cluster is ideal when the question is “does my app work on Kubernetes?”. It starts in seconds, uses your local images directly and exposes services on friendly domains. For most application developers, that is all they need.
It is less suited when the question is about Kubernetes itself: multi-node scheduling, topology spread constraints, testing a CNI or a CSI driver, or reproducing a bug that only appears on a specific Kubernetes minor version. For those cases, run kind or k3d on top of OrbStack’s Docker engine. They work unchanged, because they only need a Docker socket.
kind create cluster --name multi --config kind-3nodes.yaml
k3d cluster create dev --agents 2Docker Desktop’s new kind integration covers similar ground from its GUI, and Rancher Desktop’s k3s version selector is the most convenient way to pin a specific Kubernetes version. Whatever you choose, keep resource requests realistic in local manifests too: a laptop cluster is the cheapest place to catch the problems described in our guide to Kubernetes requests and limits.
Gotchas in the First Week
Docker contexts and DOCKER_HOST. If DOCKER_HOST is set in your shell profile (a leftover from Colima or Podman, for example), it overrides the active context and you will talk to the wrong engine. Unset it and rely on docker context use.
Testcontainers. Most Testcontainers libraries detect OrbStack automatically through /var/run/docker.sock. If detection fails, or Ryuk cannot start, set the socket explicitly:
export DOCKER_HOST=unix://$HOME/.orbstack/run/docker.sock
export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sockThe same pattern is used for Colima and Podman (Testcontainers configuration).
Dev Containers. VS Code and JetBrains dev containers work with OrbStack because it exposes a standard Docker socket. If your IDE was pinned to Docker Desktop’s socket path, point it back to the default context.
arm64 vs amd64. Apple Silicon runs arm64 images natively, and Rosetta makes amd64 images work, but more slowly and with occasional incompatibilities (some JIT-heavy runtimes and anything that inspects CPU features). Build multi-arch images with docker buildx build --platform linux/amd64,linux/arm64, and make sure what you test locally is what you ship. If image size and layering matter to you, see our notes on multi-stage Dockerfiles and on analysing Docker image size.
Corporate VPNs and proxies. OrbStack’s network stack generally follows macOS routing and DNS, which avoids many of the problems older VM-based tools had with VPN clients. Proxies that intercept TLS still need their root CA trusted inside containers, exactly as with any other tool, and some zero-trust clients need an explicit exception for the OrbStack network. Test your VPN on day one, not during an incident.
Licensing drift. Free personal use means OrbStack spreads inside companies informally. Decide up front whether you buy Pro seats or standardise on a free alternative.
Security scanning stays your job. Changing the runtime does not change your supply chain. Keep scanning images with Trivy or your scanner of choice locally and in CI.
Frequently Asked Questions
Is OrbStack free?
OrbStack is free only for personal, non-commercial use. Any business or commercial use requires the Pro plan, which costs $8 per user per month or $96 per user per year (checked 8 October 2026). Unlike Docker Desktop, there is no company-size or revenue threshold below which commercial use is free. Students can request free licences, and open-source developers can get one for non-commercial projects.
Is OrbStack faster than Docker Desktop?
In most day-to-day scenarios on a Mac, yes. The difference comes from dynamic memory that is returned to macOS, near-zero idle CPU, a faster file-sharing implementation and a custom network stack. The gap is largest on bind-mount-heavy workloads and on laptops with 16 GB of RAM or less. Published “x times faster” figures are not controlled benchmarks, though, so measure your own build and test suite if speed is the deciding factor.
Does OrbStack work with docker compose and existing Docker tooling?
Yes. OrbStack runs a real Docker engine and exposes the standard socket at /var/run/docker.sock, so the Docker CLI, Compose, Buildx, Dev Containers, Testcontainers and most third-party tools work unchanged. The main differences are the credential store (osxkeychain instead of Docker Desktop’s desktop helper) and the lack of Docker Desktop extensions.
Does OrbStack include Kubernetes?
Yes. It includes a single-node Kubernetes cluster, currently on version 1.35, started with orb start k8s. Locally built images are available to pods without a registry, LoadBalancer services and ingresses are reachable at *.k8s.orb.local, and you can access ClusterIP services and pod IPs directly from macOS. For multi-node clusters or specific Kubernetes versions, run kind or k3d on top of OrbStack’s Docker engine.
Can I migrate my images and volumes from Docker Desktop to OrbStack?
Yes. Run orb docker migrate, or use File → Migrate Docker Data in the app, and OrbStack copies your containers, volumes and images from Docker Desktop. It works on a copy, so you can verify everything before uninstalling Docker Desktop. You will need to log in to private registries again because the credential store changes.
Is OrbStack open source?
No. Some components are open source, but OrbStack itself is proprietary software from a commercial company. If you need a fully open-source tool, the closest equivalents are Rancher Desktop (Apache-2.0, with a GUI and k3s), Colima (MIT, CLI-only) and Podman Desktop (Apache-2.0, rootless containers).
Does OrbStack run on Windows or Linux?
No, OrbStack is macOS-only and requires macOS 14 or newer, on either Apple Silicon or Intel. Teams with Windows or Linux developers who want a single tool across all machines usually choose Docker Desktop, Podman Desktop or Rancher Desktop instead.
Should I switch to Apple’s container tool instead?
Not yet for a typical development workflow. Apple’s container (version 1.5.0 in September 2026) runs each container in its own lightweight VM, which gives strong isolation, but it requires macOS 26 and Apple Silicon, is CLI-only and still labels features like Kubernetes support as experimental. It is worth following, and useful for isolated one-off containers, but Compose-based workflows are better served by OrbStack, Docker Desktop or Colima today.
Conclusion
OrbStack wins on the thing developers feel every day: a Mac that stays cool, memory that comes back when containers stop, fast bind mounts, and small touches like .orb.local domains and a one-command Kubernetes cluster. Moving to it from Docker Desktop is a half-hour job, and because it runs a real Docker engine, almost nothing in your toolchain notices.
The trade-offs are just as clear: macOS-only, closed source, and paid for any commercial use, with no free tier for small companies. If your team is on Macs and $96 per developer per year is an easy approval, OrbStack is the best experience available in 2026. If the tool has to be free and open, Rancher Desktop and Colima remain solid. If you need one tool across Windows, Linux and macOS, or you live inside Docker’s ecosystem of extensions, Scout and Model Runner, Docker Desktop is still the safe default. And Apple’s container is the one to watch for next year.