Warum Docker?
Das Ausführen von OpenClaw in Docker bietet drei wesentliche Vorteile gegenüber einer Bare-Metal-Installation:
- 1.Sicherheitsisolierung: Der Agent läuft innerhalb eines Containers mit eingeschränktem Zugriff auf Ihr Hostsystem. Wenn ein bösartiger Skill oder eine Prompt-Injection versucht, auf Ihre Dateien zuzugreifen, begrenzt die Container-Grenze den Schadensradius.
- 2.Reproduzierbarkeit: Dasselbe Docker-Image läuft identisch auf jedem Rechner — Ihrem Laptop, einem VPS oder einem Raspberry Pi.
- 3.Einfache Bereinigung: Sie möchten neu anfangen? Entfernen Sie den Container und starten Sie einen neuen. Keine übrig gebliebenen Dateien, keine defekten Node.js-Installationen.
Voraussetzungen
- •Docker Desktop (macOS/Windows) oder Docker Engine (Linux)
- •Docker Compose v2 (in Docker Desktop enthalten)
- •Mindestens 2 GB RAM verfügbar für den Container
- •Ein KI-API-Schlüssel (Anthropic, OpenAI oder ein anderer unterstützter Anbieter)
Schnellstart
Option A: Offizielles Docker Compose (Empfohlen)
Klonen Sie das OpenClaw-Repository und verwenden Sie das integrierte Docker-Setup:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
Führen Sie das Setup-Skript aus, das die erforderlichen Verzeichnisse und Konfigurationen erstellt:
bash docker-setup.sh
- •
~/.openclaw/— Konfiguration, SOUL.md, API-Schlüssel - •
~/openclaw/workspace/— Dateien, auf die der Agent zugreifen kann
Führen Sie den Onboarding-Assistenten innerhalb des Containers aus:
docker compose run --rm openclaw-cli onboard
Folgen Sie den Eingabeaufforderungen, um Ihren API-Schlüssel einzurichten und eine Chat-Plattform zu verbinden. Starten Sie dann das Gateway:
docker compose up -d openclaw-gateway
Ihr Agent läuft jetzt im Hintergrund.
Option B: Vorgefertigtes Image
Wenn Sie das Repository nicht klonen möchten, verwenden Sie das offizielle vorgefertigte Image:
docker run -d \
--name openclaw \
--restart unless-stopped \
-v ~/.openclaw:/root/.openclaw \
-v ~/openclaw/workspace:/root/workspace \
-p 3000:3000 \
ghcr.io/openclaw/openclaw:latest
Docker Compose Referenz
Hier ist eine kommentierte docker-compose.yml für den Produktionseinsatz:
version: "3.8"
services:
openclaw-gateway:
image: ghcr.io/openclaw/openclaw:latest
container_name: openclaw
restart: unless-stopped
ports:
- "3000:3000" # Web UI
volumes:
- ~/.openclaw:/root/.openclaw # Config and data
- ~/openclaw/workspace:/root/workspace # Agent workspace
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- TZ=Asia/Shanghai # Set your timezone
mem_limit: 2g # Prevent runaway memory usage
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
Erstellen Sie eine .env-Datei im selben Verzeichnis mit Ihren API-Schlüsseln:
ANTHROPIC_API_KEY=sk-ant-xxxxx
OPENAI_API_KEY=sk-xxxxx
Umgebungsvariablen
| Variable | Erforderlich | Beschreibung |
|---|---|---|
ANTHROPIC_API_KEY | Ja* | Claude API-Schlüssel |
OPENAI_API_KEY | Nein | GPT API-Schlüssel (bei Verwendung von OpenAI) |
OPENCLAW_PORT | Nein | Web-UI-Port (Standard: 3000) |
OPENCLAW_HOME | Nein | Datenverzeichnis innerhalb des Containers |
TZ | Nein | Zeitzone für geplante Aufgaben |
*Mindestens ein KI-Anbieter-Schlüssel ist erforderlich.
Ihren Container verwalten
# Logs anzeigen
docker logs -f openclaw
# Den Agenten stoppen
docker compose stop
# Den Agenten starten
docker compose up -d
# Nach Konfigurationsänderungen neu starten
docker compose restart
# Auf die neueste Version aktualisieren
docker compose pull
docker compose up -d
# In die Container-Shell eintreten
docker exec -it openclaw bash
# CLI-Befehle innerhalb des Containers ausführen
docker exec openclaw openclaw skill list
docker exec openclaw openclaw status
Sicherheitshärtung
Dateisystemzugriff einschränken
Mounten Sie nur die Verzeichnisse, die Ihr Agent tatsächlich benötigt. Vermeiden Sie es, Ihr gesamtes Home-Verzeichnis zu mounten:
volumes:
- ~/.openclaw:/root/.openclaw:rw # Config (read-write)
- ~/documents:/root/docs:ro # Documents (read-only)
Netzwerkisolierung
Wenn Ihr Agent keinen Zugriff auf lokale Netzwerkdienste benötigt, schränken Sie sein Netzwerk ein:
networks:
openclaw-net:
driver: bridge
internal: false # Set to true to block all external access
Schreibgeschütztes Root-Dateisystem
Für maximale Sicherheit machen Sie das Root-Dateisystem schreibgeschützt und erlauben Schreibzugriff nur auf bestimmte Pfade:
read_only: true
tmpfs:
- /tmp
- /run
Aktualisierungen
OpenClaw veröffentlicht häufig Updates. Um Ihr Docker-Deployment zu aktualisieren:
docker compose pull # Neuestes Image herunterladen
docker compose up -d # Container mit neuem Image neu erstellen
docker image prune -f # Alte Images bereinigen
Ihre Konfiguration und Daten bleiben in den gemounteten Volumes erhalten, sodass Updates nicht destruktiv sind.
Fehlerbehebung
Container stürzt sofort ab: Überprüfen Sie die Logs mit docker logs openclaw. Häufige Ursachen: fehlende API-Schlüssel, unzureichender Speicher oder Port-Konflikte.
WhatsApp QR-Code wird nicht angezeigt: Führen Sie das Onboarding im interaktiven Modus aus: docker compose run --rm openclaw-cli onboard. Der QR-Code benötigt ein Terminal, das Rendering unterstützt.
Berechtigungsfehler bei gemounteten Volumes: Stellen Sie sicher, dass die Host-Verzeichnisse existieren und Ihrem Benutzer gehören: mkdir -p ~/.openclaw ~/openclaw/workspace.
Hoher Speicherverbrauch: Setzen Sie mem_limit: 2g in der docker-compose.yml, um zu verhindern, dass der Container übermäßig viel RAM verbraucht.
Für weitere Details siehe die offizielle Docker-Dokumentation und die docker-compose.yml im Repository.