OrbStack — Docker und Linux-Maschinen auf dem Mac

Praxis-Guide zu OrbStack — der schnellen Docker-Desktop-Alternative für macOS, mit Linux-Maschinen, Kubernetes und DNS per orb-CLI.

OrbStack ist eine schnelle, ressourcenschonende macOS-App, mit der du Docker-Container und vollwertige Linux-Maschinen startest – eine leichtgewichtige Alternative zu Docker Desktop. Statt einer schweren VM nutzt OrbStack eine optimierte Virtualisierung, die kaum CPU, RAM und Akku beansprucht und in Sekunden startet. Über das CLI orb (bzw. orbctl) verwaltest du Maschinen, öffnest Shells, kopierst Dateien und steuerst den eingebauten Kubernetes-Cluster. Praktisch: Jede Maschine bekommt automatisch einen .orb.local-Hostnamen und eine fertige SSH-Konfiguration. Dieser Guide zeigt dir die wichtigsten orb-Befehle für den Alltag – vom Anlegen einer Linux-Maschine bis zum Docker- und Kubernetes-Workflow.

Maschinen-Lebenszyklus

orb create <distro> <name> — Legt eine neue Linux-Maschine mit angegebener Distribution und Namen an.

orb create ubuntu:24.04 myvm

orb create <distro> — Legt eine Linux-Maschine mit automatisch generiertem Namen an.

orb create debian:12

orb start <name> — Startet eine gestoppte Linux-Maschine.

orb start myvm

orb stop <name> — Stoppt eine laufende Linux-Maschine.

orb stop myvm

orb delete <name> — Löscht eine Linux-Maschine samt ihren Daten endgültig.

orb delete myvm

orb clone <source> <target> — Klont eine bestehende Linux-Maschine in eine neue.

orb clone myvm myvm-copy

orb rename <old> <new> — Benennt eine bestehende Linux-Maschine um.

orb rename myvm devbox

Shell & Befehle

orb shell — Öffnet eine interaktive Shell in der Standard-Linux-Maschine.

orb shell

orb shell <name> — Öffnet eine interaktive Shell in einer bestimmten Linux-Maschine.

orb shell myvm

orb shell -u <user> <name> — Öffnet eine Shell als bestimmter Benutzer in der Maschine.

orb shell -u root myvm

orb run <name> -- <command> — Führt einen einzelnen Befehl in einer Linux-Maschine aus.

orb run myvm -- uname -a

orb run -u <user> <name> -- <command> — Führt einen Befehl als bestimmter Benutzer in einer Maschine aus.

orb run -u root myvm -- apt-get update

ssh orb — Verbindet sich per SSH mit der Standard-Maschine über OrbStacks eingebaute SSH-Konfiguration.

ssh orb

ssh <name>@orb — Verbindet sich per SSH mit einer benannten Linux-Maschine.

ssh myvm@orb

Dateitransfer

orb push <name> <local_path> <remote_path> — Kopiert eine Datei oder ein Verzeichnis vom Host in eine Linux-Maschine.

orb push myvm ./app /home/user/app

orb pull <name> <remote_path> <local_path> — Kopiert eine Datei oder ein Verzeichnis aus einer Linux-Maschine auf den Host.

orb pull myvm /var/log/syslog ./syslog.txt

scp <local> <name>@orb:<remote> — Kopiert Dateien per Standard-SCP in eine Maschine (OrbStack ergänzt die SSH-Konfiguration automatisch).

scp ./config.yaml myvm@orb:/etc/app/config.yaml

scp <name>@orb:<remote> <local> — Kopiert Dateien per Standard-SCP aus einer Maschine auf den Host.

scp myvm@orb:/var/log/app.log ./app.log

Auflisten & Infos

orb list — Listet alle Linux-Maschinen mit Status und IP-Adresse auf.

orb list

orb info — Zeigt detaillierte Infos zur Standard-Maschine (IP, CPU, Speicher, Festplatte).

orb info

orb info <name> — Zeigt detaillierte Informationen zu einer bestimmten Linux-Maschine.

orb info myvm

orb version — Zeigt die installierte OrbStack-CLI- und -Engine-Version.

orb version

orb status — Zeigt den aktuellen Status der OrbStack-Engine (läuft, gestoppt usw.).

orb status

Docker-Integration

docker context ls — Listet alle Docker-Kontexte auf. OrbStack registriert sich automatisch als Kontext „orbstack".

docker context ls

docker context use orbstack — Wechselt den aktiven Docker-Kontext zu OrbStack.

docker context use orbstack

docker run -it ubuntu bash — Startet Docker-Container wie gewohnt – alle Standard-Docker-Befehle funktionieren mit OrbStack.

docker run -it ubuntu bash

docker compose up -d — Nutzt Docker Compose wie gewohnt – OrbStack ist vollständig Docker-kompatibel.

docker compose up -d

docker system df — Zeigt OrbStacks Docker-Speichernutzung: Images, Container, Volumes und Build-Cache.

docker system df

docker buildx build --platform linux/amd64,linux/arm64 -t name . — Multi-Plattform-Builds funktionieren dank OrbStacks mitgeliefertem buildx ohne Zusatzaufwand.

docker buildx build --platform linux/amd64,linux/arm64 -t my-app .

Kubernetes

orbctl k8s start — Startet den eingebauten Single-Node-Kubernetes-Cluster.

orbctl k8s start

orbctl k8s stop — Stoppt den Kubernetes-Cluster, ohne Daten zu löschen.

orbctl k8s stop

orbctl k8s reset — Setzt den Kubernetes-Cluster auf einen sauberen Zustand zurück (zerstört alle Workloads).

orbctl k8s reset

kubectl config use-context orbstack — Schaltet kubectl auf den OrbStack-Kubernetes-Cluster um.

kubectl config use-context orbstack

kubectl get nodes — Prüft, ob der OrbStack-Kubernetes-Node bereit ist.

kubectl get nodes

kubectl get pods -A — Listet alle Pods über alle Namespaces im OrbStack-k8s-Cluster auf.

kubectl get pods -A

Konfiguration & Updates

orb config — Zeigt die aktuelle OrbStack-Konfiguration.

orb config

orb config set <key> <value> — Setzt eine Konfigurationsoption für OrbStack.

orb config set defaultMachine myvm

orbctl update — Sucht nach OrbStack-Updates und installiert sie.

orbctl update

orbctl restart — Startet die OrbStack-Engine neu (nützlich nach Konfigurationsänderungen oder wenn die Engine hängt).

orbctl restart

orbctl stop — Stoppt die OrbStack-Engine und alle Maschinen vollständig.

orbctl stop

Netzwerk & DNS

ping myvm.orb.local — Jede OrbStack-Maschine bekommt einen .orb.local-Hostnamen, der von macOS aus auflösbar ist.

ping myvm.orb.local

curl http://myvm.orb.local:8080 — Erreicht Dienste in einer Linux-Maschine per Hostname, ohne Port-Mapping.

curl http://myvm.orb.local:8080

curl http://host.internal — Erreicht den macOS-Host aus einer Linux-Maschine oder einem Container über diesen speziellen Hostnamen.

curl http://host.internal:3000

orb info <name> — Ermittelt die IP-Adresse einer Maschine für direkte Verbindungen.

orb info myvm

Verfügbare Linux-Distributionen

orb create ubuntu <name> — Legt eine Ubuntu-Maschine an (standardmäßig die aktuelle LTS).

orb create ubuntu devbox

orb create ubuntu:24.04 <name> — Legt eine Ubuntu-24.04-Maschine (Noble) an.

orb create ubuntu:24.04 noble

orb create debian:12 <name> — Legt eine Debian-12-Maschine (Bookworm) an.

orb create debian:12 bookworm

orb create fedora <name> — Legt eine Fedora-Linux-Maschine an.

orb create fedora fedora-dev

orb create arch <name> — Legt eine Arch-Linux-Maschine an.

orb create arch arch-dev

orb create alpine <name> — Legt eine minimale Alpine-Linux-Maschine an.

orb create alpine tiny

orb create nixos <name> — Legt eine NixOS-Maschine an.

orb create nixos nix-dev

Fazit

OrbStack zeigt, wie viel angenehmer containerbasierte Entwicklung auf dem Mac sein kann: schneller Start, geringer Ressourcenhunger und ein nahtloser Wechsel zwischen Docker, vollwertigen Linux-Maschinen und Kubernetes – alles über ein einziges CLI. Wenn du bisher Docker Desktop nutzt, lohnt sich ein Umstieg vor allem wegen der spürbar besseren Akkulaufzeit und der automatischen .orb.local-Hostnamen. Beachte, dass OrbStack ausschließlich auf macOS läuft und für die kommerzielle Nutzung eine Lizenz erfordert – privat ist es kostenlos.

Verwandte Kommandos

  • ddev – containerbasierte lokale Dev-Umgebungen für PHP & Co.
  • docker – Container bauen, starten und verwalten
  • docker-compose – Multi-Container-Setups deklarativ definieren