2026 OpenClaw Docker Volumes & Berechtigungen
Persistente Konfiguration, beschreibbare Skills & Zustand nach Neustart

ca. 21 Min. · MACCOME

Teams, die OpenClaw Gateway auf Docker / Compose betreiben, verlieren selten die meiste Zeit beim Image-Pull. Sie verlieren sie, wenn Neustarts, Upgrades oder docker compose down Pairing und Konfiguration löschen oder Skills-Verzeichnisse nur lesbar sind und Permission denied-Spam ausgibt, der nicht zu den Netzwerkeinträgen in der offiziellen Fehlersuche passt. Dieser Artikel teilt die Arbeit mit Docker-Netzwerk-Triage, Doctor-Triage nach der Installation, Docker-Produktions- & Gateway-Runbook und unbeaufsichtigtem Remote-Mac-Betrieb: sechs Volume-/Berechtigungsfallen, zwei Tabellen für Persistenz versus Anti-Patterns, eine Symptom→Befehl→Fix-Matrix, kopierbare Inspect-Snippets, ein Sechs-Schritte-Runbook und drei Dashboard-Metriken. Triage-Reihenfolge: zuerst Volumes und UID/GID, danach Netzwerk und Reverse Proxies.

„Nach Neustart ist alles weg“ in sechs RCA-taugliche Volume-Ursachen zerlegen

Images sind unveränderliche Vorlagen; nur Zustand in der beschreibbaren Schicht, anonymen Volumes oder nicht persistenten Pfaden verschwindet. Erfassen Sie die Signale unten in Change-Tickets und prüfen Sie sie auf derselben Linie wie Compose-Revisionen und Image-Tags.

  1. Anonyme oder unbenannte Mounts: Compose deklariert Pfade im Container ohne Host-Binds; down -v oder Aufräumskripte löschen Pairing-Caches, obwohl „sich in git nichts geändert hat“.
  2. Bind-Pfade wandern auf Remote-Macs: Home-Verzeichnisse, Sync-Ordner oder temporäre Mounts verschieben sich; Binds zeigen auf leere Verzeichnisse oder alte Snapshots, während das Gateway weiter startet.
  3. UID/GID-Verschiebung: Prozessbenutzer im Container und Besitz auf dem Host stimmen nicht überein; Hot-Reloads oder Log-Schreiben für Skills scheitern. Docker Desktop auf macOS und Linux-Hosts divergieren—Compose ohne Anpassung von user zu übernehmen ist ein typischer Fehler.
  4. Falscher Einsatz von read-only: Konfiguration oder Skills aus „Sicherheitsgründen“ mit :ro markieren blockiert Token-Caches oder lokalen Zustand, den das Upstream-Beispiel erwartet; Ausfälle können still bleiben bis zum Neustart.
  5. Zustand nur in der beschreibbaren Schicht: docker commit wirkt verlockend, doch Upgrades oder Tag-Wechsel verwerfen diese Schicht—für Produktion vermeiden.
  6. Parallele Schreiber ohne Koordination: Zwei experimentelle Compose-Projekte binden dasselbe Verzeichnis und beschädigen JSON oder schreiben Konfiguration halb fertig.

Wenn die Netzwerk-Triage weiterhin zeigt, dass die CLI zeitweise klappt, nach Neustart aber garantiert scheitert, kehren Sie hierher zurück und prüfen Sie, ob benannte Volumes auf der erwarteten Platte liegen und der Prozessbenutzer Skills beschreiben kann, bevor Sie network_mode oder Proxies anfassen.

Tabelle 1: Was OpenClaw in Docker persistieren sollte—und typische Anti-Patterns

Exakte Unterpfade folgen Ihrem Image und der Doku; die Tabelle rahmt drei Engineering-Fragen: überlebt es den Container-Lebenszyklus, braucht es Backup, gemeinsam nur lesbar? Antworten in README und On-Call-Playbooks festhalten.

KlasseTypischer persistenter InhaltEmpfohlenes MusterAnti-Pattern
Konfiguration & Secrets-MaterialGateway-Endpunkte, Provider-Auswahl, Pfade zu Channel-TokensHost-Bind oder benanntes Volume; Rechte auf Laufzeitbenutzer begrenztIn das Image backen; unter von Sync-Tools geleerten Verzeichnissen ablegen
Laufzeit & PairingGeräte-Pairing und Sitzungs-WiederherstellungEigener Bind-Unterbaum; tar vor UpgradesAnonyme Volumes ohne Compose-Doku; ein prune löscht alles
Skills / ErweiterungenTeam-eigene Skill-Dateien und SkripteBind neben dem Repo; identische Pfade in CI und Prod:ro, obwohl Laufzeit-Caches beschreibbar sein müssen; UID kann nicht schreiben
Logs & PufferGroße Logs, ExporteSeparates Volume oder Host-Pfad mit RotationBeschreibbare Schicht füllen bis OOM oder unerwartetes read-only-FS

Tabelle 2: Symptome → Checks → Fixes (Volumes vor Netzwerk)

Während der Checks Image-IDs, Compose-Projektnamen und Volumenamen in derselben Shell-Session protokollieren, um Rollbacks zu vereinfachen; die Release-Checklist-Seite aus dem Produktions-Runbook wiederverwenden.

SymptomZuerst prüfenTypischer FixWenn es weiter scheitert
Nach jedem docker compose up wirkt alles wie Neuinstallationdocker inspect Mounts vs. erwartete Host-Pfade; kürzliche -v-BereinigungExplizite Binds oder benannte Volumes; dokumentieren, ob down -v nutzen darfPrüfen, ob Sie im richtigen Compose-Projektverzeichnis sind
Skills werden ignoriert oder Schreiben scheitertid im Container vs. Besitz mit ls -ln auf dem Hostuser, chmod oder UID in Dockerfile/Entrypoint angleichenSicherstellen, dass Mounts nicht :ro sind
Fluten von BerechtigungsfehlernSELinux/AppArmor auf Linux; Dateifreigabe in Docker Desktop auf macOSLinux: Labels oder :z gegen Sicherheitsbaseline bewerten; macOS: Pfade zur Dateifreigabe hinzufügenPlattenweises read-only ausschließen, bevor die Netzwerk-Triage wieder geöffnet wird
Nach Image-Bump halb funktionsfähigKonfigurationsschema-Änderungen; altes Datenverzeichnis noch gemountetRelease Notes folgen; vor Upgrade sichernopenclaw doctor gegen dokumentierte Breaking Changes laufen lassen
bash
# 1) Landen Mounts auf den erwarteten Host-Pfaden? (Container ersetzen)
docker inspect -f '{{ json .Mounts }}' <container> | jq .

# 2) Laufzeitbenutzer im Container (mit Host-Besitz vergleichen)
docker exec -it <container> id

# 3) Compose-Projekte und Volumes (anonyme Drift vermeiden)
docker compose ls
docker volume ls | grep <project>

# 4) Beispiel: Bind-Backup vor Upgrade (Pfad nach Teamkonvention)
tar czf openclaw-state-$(date +%Y%m%d).tgz ./openclaw-data/
info

Hinweis: Docker Desktop auf Remote-Macs hält Binds meist unter Benutzer-Homeverzeichnissen; Linux-Cloud-Hosts brauchen oft andere user-Zeilen und Berechtigungsmodelle. „Funktioniert auf meinem Laptop“ heißt nicht „funktioniert auf Pool-Hosts“. Unternehmen sollten prüfen, ob bind-gemountete Zustandsverzeichnisse personenbezogene Daten enthalten und ob Aufbewahrungs- und Löschfristen, Zugriffskontrollen sowie Verzeichnis von Verarbeitungstätigkeiten nach DSGVO diese Speicherorte und Datenaufbewahrung abdecken.

Sechs-Schritte-Runbook: von „Container läuft“ zu „Zustand überlebt Neustart/Upgrade“

  1. Datenebene zeichnen: Konfiguration, Laufzeit, Skills und Log-Binds im Architekturdiagramm beschriften; mit dem Service-Diagramm aus dem Produktions-Runbook zusammenführen.
  2. Implizite anonyme Volumes verbieten: Jeden Pfad, der Neustarts überleben muss, in Compose benennen; README muss festhalten, was down -v zerstört.
  3. UID/GID-Politik einfrieren: Containerbenutzer wählen, Besitz oder ACLs auf dem Host spiegeln und in Ansible oder cloud-init für Multi-Host-Pools kodifizieren.
  4. Vor Upgrades sichern: Zeitgestempelte Tarballs der Bind-Wurzeln; alte Image-Digests und Compose-Revisionen aufzeichnen.
  5. Volume-Gesundheit vor doctor: Wenn Mounts stimmen, openclaw doctor und Channel-Probes ausführen, um falsch negative Ergebnisse zu vermeiden.
  6. In On-Call einbetten: Schritt eins öffnet diese Tabelle plus Tabelle 1 aus dem Netzwerk-Artikel—parallele Änderungen an Netzwerk und Speicher vermeiden.

Drei harte Metriken für Dashboards und Postmortems

  1. Volume-Abdeckung: Anteil der erforderlichen persistenten Pfade mit expliziten Binds oder benannten Volumes; Staging unter 100 % ist nicht produktionsreif.
  2. Rate von Berechtigungsfehlern: Container-Logs nach Permission denied / EACCES filtern; Korrelation mit Gateway-Upgrades deutet meist auf Mounts, nicht auf Provider.
  3. Kadenz der Zustands-Backups: Protokollieren, ob jedes Upgrade ein Archiv hatte; ein häufiges 2026-Muster ist „Upgrade gelang, aber niemand erinnerte sich, dass der Bind auf einem anderen Host lag.“ Backups außerhalb der Gateway-Platte halten, um mündliche RPOs einzuhalten.

Diese neben Platten- und Log-Metriken aus dem Remote-Mac-Artikel plotten—Volume-Probleme zeigen sich oft als Plattenlauf oder read-only-Mounts vor CPU-Spikes.

Viele Teams legen Gateway und Skills 2025–2026 unter einen Host-Baum; ohne Quotas auf reinen Log-Unterbäumen können Logs den Bind füllen und Konfigurationsschreiben blockieren. Rotation oder getrennte Volumes, bevor endlos Container neu erstellt werden.

Unterscheiden Sie docker compose restart von down/up: Ersteres behält deklarierte Volumes meist; Letzteres mit Aufräum-Flags ändert das Schicksal der Daten—gemeinsames Verb-Cheatsheet in Runbooks.

Warum Docker-Experimente nur auf dem Laptop selten zu unbeaufsichtigten Gateways skalieren

Einbenutzer-Laptop-Berechtigungen unterscheiden sich von gepoolten Remote-Hosts mit Automatisierungs-Logins; Sleep, Sync-Tools und manuelle Bind-Edits machen „gestern ging es“ nicht reproduzierbar. OpenClaw als 24/7-Steuerungsebene braucht vertraglich festgelegte Pfade, reversible Upgrades und auditierbare Berechtigungen.

Lernschleifen auf persönlicher Hardware sind in Ordnung, Produktionskosten zeigen sich als Pager-Lärm und tote Channels. Ephemere Scratch-Container ohne stabile Mounts vervielfachen Fehlerdomänen bei Upgrades. Teams, die immer verfügbare, backup-freundliche, portable Gateways brauchen, kommen oft schneller bei professionellen Mac-Cloud-Footprints mit Apple-Silicon-Bare-Metal und Multi-Region-Wahl an als beim endlosen Tweaken privater Docker-Setups. MACCOME bietet Mac Mini M4 / M4 Pro-Mieten über Regionen hinweg plus öffentliche Hilfe—starten Sie mit Hilfe-Center und Mietpreisen, dann regionales Checkout.

Rollout-Tipp: Tabellen-2-Checks auf derselben Host-Klasse wie in Produktion (Docker Desktop vs. Linux) fahren, bevor Channels und Modelle verkabelt werden—UID- und Pfad-Drift „lokal ok, Cloud kaputt“ vermeiden.

Wenn Sie zudem Kubernetes betreiben, recyceln Pods häufiger als Compose-Stacks: Alles ohne PVC verschwindet bei Rolling Updates—dieselbe explizite Persistenzregel gilt, nur mit kubectl describe pvc und Mount-Manifesten verifizieren.

FAQ

Worin unterscheidet sich das von der Docker-Netzwerk-Triage?

Netzwerk behandelt Erreichbarkeit und Namespaces; dieser Artikel, ob Daten auf der Platte liegen und beschreibbar sind. Für Installations-Einstiege den Drei-Plattformen-Installationsleitfaden nutzen. Zugang und Preise: Hilfe-Center und Mietpreise.

Zuerst doctor oder Volumes?

Zuerst Volumes und Berechtigungen, dann doctor, um falsch positive Ergebnisse durch ständig neu erstellte Container zu vermeiden. WSL2-Details bleiben im Doctor-Artikel nach der Installation.

Wie passt das zum Remote-Mac-Betrieb?

Dort geht es um launchd/systemd, Logs und Hang-Triage; hier um Docker-Persistenz und Beschreibbarkeit. Beides gehört in dieselbe Change-Review und denselben On-Call-Index.