macOS Container Machines
What Apple’s “container machines” are
- Built on Apple’s Containerization / Virtualization frameworks; each container is actually its own lightweight Linux VM (micro‑VM).
- Closer to WSL2, toolbox/distrobox, or “LXC via VMs” than to classic shared‑kernel containers.
- Adds persistence and host filesystem mounting on top of the existing
containerCLI. - Uses virtiofs for host mounts; default Linux kernel is from Kata Containers.
- Supports systemd and “real Linux services” if the base image includes an init system.
Comparison with Docker/Podman/Colima/OrbStack
- Intended as a native alternative to Docker Desktop’s single big VM; per‑container VMs improve isolation and privacy.
- Still needs a Linux VM, so it does not eliminate the VM layer the way some people hoped.
- Colima/Podman/Lima remain viable, with broader ecosystem and Docker Compose support.
- OrbStack is frequently praised: custom Rust-based virtualization, dynamic memory reclaim, optimized filesystem sharing, USB/audio passthrough, isolated machines.
- Several commenters say they’ll stick with OrbStack/Colima for now; Apple’s tooling feels less integrated and less feature‑rich.
Performance, resources, and filesystem behavior
- Memory defaults to half of host RAM, with ballooning to grow but not yet shrink; sparse disk images also don’t shrink easily.
- Concern that this can be RAM‑heavy compared to traditional containers; some argue micro‑VMs are still lighter than full VMs.
- Prior versions of Apple containers had slow filesystem performance for workloads with many small files (Node/Rust); unclear if this is now fully resolved.
- QEMU is considered slower than Apple’s native virtualization, but Lima can target the native framework too.
Platform support and limitations
- Optimized for Apple Silicon and macOS 26 (“Tahoe”); works on macOS 15 with networking limitations and no backport fixes planned.
- Underlying virtualization exists on Intel, but new features will target Apple Silicon and newer macOS only.
- Linux guests only; no macOS-in-container support despite strong demand for macOS CI and “Darwin jails.”
- Rosetta in the virtualization stack lets aarch64 Linux VMs run amd64 binaries; Rosetta for Linux is expected to stay even as mac app Rosetta is removed.
Use cases and workflows
- Main target: local Linux dev environments on macOS—databases, background services, devcontainers‑style setups.
- Some see it as a good sandbox for untrusted code and AI coding agents, a spiritual successor to
sandbox-execbut with VM isolation. - People ask how to replicate multi‑service Docker Compose setups; no first‑class Compose story yet, though tooling could be built atop the OCI pieces.
- Interest in using it for AOSP builds, GPU/LLM workloads, and as a more “invisible” Linux layer like WSL; GPU passthrough and x86 story beyond Rosetta are unclear.
Security, isolation, and UX debates
- Per‑VM containers are seen as stronger isolation than shared‑kernel containers, but some argue containers in general are not a primary security boundary.
- Default auto‑mount of
$HOMEdivides opinion: convenient for most dev workflows, undesirable for those aiming at strict supply‑chain isolation. - Some want easy toggles for no host mounts and more fine‑grained isolation knobs.
Missing pieces and recurring wishes
- No Darwin namespaces / macOS containers; many view this as a deliberate business decision to preserve Mac hardware sales for CI and build farms.
- No official bridge networking, VPNKit/gVisor‑like network stack, or USB passthrough from Apple’s side; third‑party tools are ahead here.
- People request better docs on when to choose Apple’s solution vs Docker/Colima/OrbStack, and benchmarks comparing all options.