Apache 2.0 · macOS 15+ · Apple Silicon

Docker & Linux VMs
on Apple Silicon, natively.

DockZ is a ~5MB menu bar app that runs the real dockerd in a tiny Alpine VM — with a Docker Desktop–style dashboard and Multipass–style Linux machines. One app replaces the whole stack.

~5 MB
App size
0
Swift deps
100%
Real dockerd
Free
Apache 2.0
Screenshots

A native dashboard, not Electron

Pure SwiftUI on Apple's Virtualization.framework. Manage containers, images, volumes, networks, registries, compose stacks, and Linux machines — all in one window.

Containers
Containers · live logs, stats, inspect, exec
Images
Images · pull / push, registry credentials in Keychain
Machines
Machines · Alpine / Debian / Ubuntu, one-click k3s / k8s clusters
Settings
Settings · CPU / RAM / disk, snapshots, move data to external SSD
Architecture

One Alpine VM, one vsock, nothing more

The Docker socket is bridged over vsock. Published ports are mirrored to localhost automatically. $HOME is shared via virtiofs for instant bind mounts.

DockZ architecture diagram
Features

Everything you need, nothing you don't

🐳

Real Docker engine

Upstream dockerd in Alpine. docker, docker compose, and buildx all work — via the dockz context.

🖥️

Native dashboard

Containers, images, volumes, networks, registries, compose stacks. Create / edit forms, live logs, stats, inspect — like Docker Desktop, but it's SwiftUI.

📦

Linux machines

Alpine / Debian / Ubuntu VMs (ARM64) over SSH. One-click k3s / k8s master + node cluster templates. Multipass-style, sharing one NAT network.

🚀

One-window onboarding

First launch builds the guest image in a throwaway netboot VM and fetches the CLI in parallel. When the window closes, docker ps just works.

🔌

Auto port forwarding

Published TCP and UDP ports are mirrored to localhost automatically via the Docker events API. Zero config.

📸

VM snapshots

Instant APFS copy-on-write snapshots of the VM disk, with rollback. Rosetta for running linux/amd64 images on ARM.

⚙️

Configurable

CPUs, RAM, disk limit, virtiofs $HOME share, relocatable data folder (move everything to an external SSD).

🧰

Docker CLI on demand

No Homebrew required. Fetches the official static docker + compose binaries, checksum-verified, wired into your terminal via a removable ~/.zshrc block.

🪶

Zero dependencies

Only Apple frameworks and the code in this repo. Builds offline with just the Command Line Tools. Auditable in a single sitting.

Comparison

One 5 MB app replaces the whole stack

No accounts, no telemetry, no background updater. Sit down and read the whole codebase in one go.

DockZ Docker Desktop OrbStack Colima
💾 App size ~5 MB ~1.5 GB+ several hundred MB CLI + brew deps
💵 License Apache 2.0, free Paid ≥ 250 staff Closed-source, paid MIT, free
🐳 Docker engine real
🖥️ Linux VMs Alpine / Debian / Ubuntu
⚡ Native (no Electron) Swift / SwiftUI Electron CLI
🔌 Auto port forward TCP + UDP Manual
Install

Build it in one command

All you need is macOS 15+, Apple Silicon, and the Command Line Tools. No Homebrew, no admin password.

1. Build & bundle

Auto-signs with an Apple Development cert if found, otherwise ad-hoc.

git clone https://github.com/nextage-soft/dockz.git cd dockz scripts/build-and-bundle-app.sh

2. Re-sign & open

Required for the com.apple.security.virtualization entitlement.

xattr -dr com.apple.quarantine build/DockZ.app codesign --force --deep --options runtime \ --entitlements scripts/dockz.entitlements \ --sign - build/DockZ.app open build/DockZ.app

3. Use docker as usual

DockZ grabs the CLI and sets the dockz context for you.

docker run --rm hello-world docker run --rm -p 8080:80 nginx # open http://localhost:8080 — it just works

4. (Optional) Linux machines

Spin up an Ubuntu VM and SSH straight from Terminal.

# In the dashboard: Machines → New → Ubuntu 24.04 ssh ubuntu@<ip> docker context use dockz

Ready to ditch Docker Desktop?

Clone, build in a few minutes, uninstall Docker Desktop, and forget Electron ever happened. DockZ runs native, sips RAM, and phones home to nobody.