Whalebridge icon

Whalebridge

A macOS menu bar app that lets Docker API clients — the docker CLI, Compose, Testcontainers, your IDE — talk to Apple's native container runtime.

What it does

Apple's container runs real Linux containers on Apple silicon using lightweight per-container VMs — but it doesn't speak the Docker Engine API, so the huge ecosystem of Docker tooling can't talk to it directly. Whalebridge bundles a patched socktainer daemon that translates between the two, and handles everything around it: starting and supervising the daemon, keeping Apple's container services running and up to date, and wiring up a Docker context so docker ps just works.

Requirements

How it fits together

docker CLIclient
Whalebridge.app
menu bar — spawns, supervises, monitors, updates
socktainerAPI translation
container-apiserverXPC
per-container VMsVirtualization.framework

Getting started

  1. Download the latest release and move Whalebridge.app into /Applications.
  2. The first time you open it, macOS blocks it as being from an "unidentified developer" — Whalebridge isn't notarized, since that requires a paid Apple Developer Program membership this free project doesn't have. Open System Settings → Privacy & Security, scroll to the security message naming Whalebridge near the bottom, and click Open Anyway. (Prefer the terminal? xattr -cr /Applications/Whalebridge.app skips the prompt entirely.) macOS only asks once — future updates won't prompt again.
  3. Launch it. If Apple's container runtime isn't installed yet — or is out of date — Whalebridge offers to fetch and install the right version for you.
  4. Whalebridge starts its daemon automatically and offers to make itself your default Docker context.
  5. docker ps, docker build, docker compose up — it's just Docker from here.

Updates ship automatically via Sparkle — no need to redownload for future releases.

If you'd rather skip the Gatekeeper dance, sponsoring the project goes toward enrolling in the Apple Developer Program so Whalebridge can be signed and notarized.