Open source · Docker Desktop alternative for Apple Silicon

Velox

A fast, lean way to run a real Docker Engine on macOS with the stock Docker CLI, a native Swift host, and a self-contained app that gets out of your way.

Velox dashboard showing engine status, resource cards, disk breakdown, and live CPU and memory usage
327 MB self-contained app
0.59 s quit to API-ready
133 MB idle host memory, resource saver on
165 Gbit/s container-to-container network

Native where it matters

The Docker tools you already use, in a lean Mac app

Stock Docker CLI

Velox registers a Docker context named velox, so Compose, Buildx, Testcontainers, SDKs, and existing scripts can talk to the real Docker API.

Native Mac app

Inspect compose groups, containers, images, volumes, networks, logs, resources, and disk usage from a SwiftUI app and menu-bar quick panel.

Names that resolve

Reach containers from macOS at <name>.velox.local with their real IPs, any protocol, and no published port required.

Small by design

One Swift host process manages the VM, Docker API proxy, port forwarding, DNS, resource saver, and app UI without Electron or always-on background daemons.

Switchable workspaces

Park a whole project — containers, images, volumes and networks — and switch to a clean or cloned one in seconds, then switch back with everything as you left it. Duplicating a workspace is instant and takes no extra disk.

Remote hosts

Docker Engines on other machines — a headless Linux server, a NAS, a build box — appear in the same window as your Mac's, over SSH with your existing keys. Velox stores no credentials and changes nothing on the server.

Use Docker as Docker

No wrapper command. No workflow migration.

Keep the Docker tooling you already use and point it at the Velox context. The app can stay open for a full desktop experience, or the CLI can run the engine headless.

# install, then point the stock CLI at Velox
curl -fsSL https://raw.githubusercontent.com/mikaelhug/Velox/main/install.sh | bash

docker context use velox
docker run --rm hello-world

# reach a container by name — no -p needed
docker run -d --name web nginx
curl http://web.velox.local

# park a project and switch to a clean one
velox workspace new client-a
velox workspace use client-a
Velox containers view showing compose groups, container names, local domains, CPU, and memory

Measured against Docker Desktop and OrbStack

Reproducible numbers, including where Velox trails

Startup, quit to API-ready 3.1x faster than Docker Desktop, 2.3x than OrbStack
Container launch 1.4x faster than Docker Desktop, 2.3x than OrbStack
Idle RAM, after the resource saver 7.4x less than Docker Desktop, 5.7x than OrbStack
Container-to-container network 1.8x faster than both
Small-file extract over VirtioFS on par with Docker Desktop, 1.8x slower than OrbStack
Published ports, 4 streams 1.3x slower than Docker Desktop, 1.5x than OrbStack

Measured against Docker Desktop 4.94.0 and OrbStack 2.2.3 in one campaign on one Mac, one engine at a time, each at a verified 8 vCPU / 8 GB. Full methodology, every raw value, and every place Velox trails are on the benchmark page.

How it is built

A thin host, a minimal guest, and the real Docker Engine

The host is Swift on Apple's Virtualization.framework. Networking uses Apple's in-kernel VZNAT datapath.

The guest uses a kernel.org kernel, a static Rust init process, a read-only erofs root filesystem, and stock dockerd.

The data disk is durable by default, with guest barriers and a raw sparse image that can return freed space to macOS.

Try Velox

Install the current release

Velox requires macOS 15 or newer on Apple Silicon. The app is signed but not yet notarized, so manual installs need the quarantine step shown in the README.