macOS container runtime · on Apple Container
Your docker commands,
on Apple's own runtime.
ContainerStack supervises Apple Container and puts a Docker-compatible socket in
front of it, registered as a Docker context. docker and
docker compose run unmodified — with no third-party daemon and no
always-on Linux VM of its own.
macOS 26+ · Apple Silicon · Apple Container installed separately
$ docker context use containerstack
containerstack ✓ current context
$ docker compose up -d
[+] Running 3/3
✓ Network api_default Created
✓ Container api-db-1 Started
✓ Container api-web-1 Started
$ curl -s localhost:8080/health
{"status":"ok"} No flags, no shim, no rewritten Compose file. The same commands, resolved by a different context.
how it works
Three moving parts, all inside the app bundle.
The runtime supervisor and the Docker API bridge ship as helpers in
Contents/Helpers, and a LaunchAgent keeps the runtime alive when the
window is closed. Uninstalling the app removes all of it.
Install and launch
One cask. ContainerStack bundles its runtime supervisor and the Docker API bridge inside the app — there is no separate daemon to install or keep updated.
The context registers itself
A Docker-compatible socket appears at ~/.socktainer/container.sock and is registered as the containerstack Docker context. Your existing contexts are left alone.
Use docker as you already do
Networks, volumes, published ports, exec and down -v all work unmodified. Nothing about your Compose files or scripts has to change.
measured, not claimed
OrbStack is faster. Here is by how much.
OrbStack is excellent at this, and it wins on throughput because it shares one tuned Linux VM across every container. ContainerStack trades that for running on the runtime Apple ships and maintains. These are the numbers from an idle M1 with 16 GiB — the same suite, the same machine, the same session.
| Measure | OrbStack | ContainerStack |
|---|---|---|
| Container round trip | baseline | 4.6× slower |
| Bind-mount writes | baseline | 3.6× slower |
| 3000-file bind-mount create | baseline | 3.6× slower |
| Image pull | baseline | at parity |
| Published-port latency | baseline | at parity |
If throughput on large bind mounts is what decides your day, OrbStack is the better tool and this table is the reason to pick it.
what ships today
A GUI and a CLI over the same runtime.
cstack
ps, inspect, logs, start/stop/restart/rm, run, images, pull, rmi, volumes, networks, df, prune, context and compose — shipped in the bundle.
Containers grouped by project
The dashboard groups running containers by their Compose project, with images, volumes and networks alongside a live runtime panel.
Docker context, handled
The containerstack context is created for you. On a machine that already runs OrbStack or Docker Desktop, yours is added rather than substituted.
Runs without the window
A LaunchAgent keeps the runtime supervised after you close the app, so containers outlive the GUI.
what it does not do
The parts that will annoy you.
A tool that hides its failure modes costs you more than one that names them. These are the three worth knowing before you install.
Known limitations in this build
-
When a bridge network's vmnet helper dies, published ports stop working until the
runtime is restarted. Restarting the containers does not fix it and loses their
addresses — the app and
cstack doctorboth say so rather than offering a remedy that was measured not to work. The re-attach belongs to Apple's daemon. - Slower than OrbStack on container round trip and bind-mount writes, by the factors in the table above. The cause is architectural: Apple Container boots one micro-VM per container rather than sharing one Linux VM.
- No Linux machines, no Kubernetes, and no container domains, HTTPS or LAN exposure yet. macOS on Apple Silicon only; no remote container hosts.
install
One cask, or one download.
Both give you the same Developer ID signed, notarized build. The cask keeps it current through Homebrew; the app updates itself either way.
$ docker context ls
NAME DOCKER ENDPOINT
default unix:///var/run/docker.sock
containerstack * unix:///Users/you/.socktainer/container.sock - Platform
- macOS 26 or later, Apple Silicon
- Runtime
- Apple Container 1.2.2, installed separately
- Price
- Free
- Updates
- Signed and notarized, delivered in-app