Waarom Docker?
Het draaien van OpenClaw in Docker biedt drie belangrijke voordelen ten opzichte van een bare-metal-installatie:
- 1.Beveiligingsisolatie: De agent draait binnen een container met beperkte toegang tot uw hostsysteem. Als een kwaadaardige skill of prompt injection probeert uw bestanden te benaderen, beperkt de containergrens de schade.
- 2.Reproduceerbaarheid: Dezelfde Docker-image draait identiek op elke machine — uw laptop, een VPS of een Raspberry Pi.
- 3.Eenvoudig opruimen: Wilt u opnieuw beginnen? Verwijder de container en start een nieuwe. Geen achtergebleven bestanden, geen kapotte Node.js-installaties.
Vereisten
- •Docker Desktop (macOS/Windows) of Docker Engine (Linux)
- •Docker Compose v2 (inbegrepen bij Docker Desktop)
- •Minimaal 2 GB RAM beschikbaar voor de container
- •Een AI API-sleutel (Anthropic, OpenAI of een andere ondersteunde provider)
Snelle start
Optie A: Officiële Docker Compose (Aanbevolen)
Kloon de OpenClaw-repository en gebruik de ingebouwde Docker-opzet:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
Voer het installatiescript uit, dat de benodigde mappen en configuratie aanmaakt:
bash docker-setup.sh
- •
~/.openclaw/— configuratie, SOUL.md, API-sleutels - •
~/openclaw/workspace/— bestanden die toegankelijk zijn voor de agent
Voer de onboarding-wizard uit binnen de container:
docker compose run --rm openclaw-cli onboard
Volg de prompts om uw API-sleutel in te stellen en een chatplatform te verbinden. Start vervolgens de gateway:
docker compose up -d openclaw-gateway
Uw agent draait nu op de achtergrond.
Optie B: Vooraf gebouwde image
Als u de repository niet wilt klonen, gebruik dan de officiële vooraf gebouwde 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-referentie
Hier is een geannoteerde docker-compose.yml voor productiegebruik:
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"
Maak een .env-bestand aan in dezelfde map met uw API-sleutels:
ANTHROPIC_API_KEY=sk-ant-xxxxx
OPENAI_API_KEY=sk-xxxxx
Omgevingsvariabelen
| Variabele | Vereist | Beschrijving |
|---|---|---|
ANTHROPIC_API_KEY | Ja* | Claude API-sleutel |
OPENAI_API_KEY | Nee | GPT API-sleutel (indien u OpenAI gebruikt) |
OPENCLAW_PORT | Nee | Web UI-poort (standaard: 3000) |
OPENCLAW_HOME | Nee | Gegevensmap binnen de container |
TZ | Nee | Tijdzone voor geplande taken |
*Minimaal één AI-providersleutel is vereist.
Uw container beheren
# View logs
docker logs -f openclaw
# Stop the agent
docker compose stop
# Start the agent
docker compose up -d
# Restart after config changes
docker compose restart
# Update to latest version
docker compose pull
docker compose up -d
# Enter the container shell
docker exec -it openclaw bash
# Run CLI commands inside container
docker exec openclaw openclaw skill list
docker exec openclaw openclaw status
Beveiligingsverharding
Beperk bestandssysteemtoegang
Mount alleen de mappen die uw agent daadwerkelijk nodig heeft. Vermijd het mounten van uw volledige thuismap:
volumes:
- ~/.openclaw:/root/.openclaw:rw # Config (read-write)
- ~/documents:/root/docs:ro # Documents (read-only)
Netwerkisolatie
Als uw agent geen toegang nodig heeft tot lokale netwerkservices, beperk dan zijn netwerk:
networks:
openclaw-net:
driver: bridge
internal: false # Set to true to block all external access
Alleen-lezen rootbestandssysteem
Voor maximale beveiliging maakt u het rootbestandssysteem alleen-lezen en staat u alleen schrijfbewerkingen toe naar specifieke paden:
read_only: true
tmpfs:
- /tmp
- /run
Bijwerken
OpenClaw brengt regelmatig releases uit. Om uw Docker-implementatie bij te werken:
docker compose pull # Pull latest image
docker compose up -d # Recreate container with new image
docker image prune -f # Clean up old images
Uw configuratie en gegevens blijven behouden in de gemounte volumes, dus updates zijn niet-destructief.
Probleemoplossing
Container crasht onmiddellijk: Controleer logs met docker logs openclaw. Veelvoorkomende oorzaken: ontbrekende API-sleutels, onvoldoende geheugen of poortconflicten.
WhatsApp QR-code verschijnt niet: Voer de onboarding uit in interactieve modus: docker compose run --rm openclaw-cli onboard. De QR-code heeft een terminal nodig die rendering ondersteunt.
Machtigingsfouten op gemounte volumes: Zorg ervoor dat de hostmappen bestaan en eigendom zijn van uw gebruiker: mkdir -p ~/.openclaw ~/openclaw/workspace.
Hoog geheugengebruik: Stel mem_limit: 2g in in docker-compose.yml om te voorkomen dat de container overmatig RAM verbruikt.
Voor meer details, zie de officiële Docker-documentatie en de docker-compose.yml in de repository.