guide docker deployment security

OpenClaw draaien in Docker: een stap-voor-stap implementatiegids

OpenClaws.io Team

OpenClaws.io Team

@openclaws

March 6, 2026

6 min lezen

OpenClaw draaien in Docker: een stap-voor-stap implementatiegids

Waarom Docker?

Het draaien van OpenClaw in Docker biedt drie belangrijke voordelen ten opzichte van een bare-metal-installatie:

  1. 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. 2.Reproduceerbaarheid: Dezelfde Docker-image draait identiek op elke machine — uw laptop, een VPS of een Raspberry Pi.
  3. 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:

bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw

Voer het installatiescript uit, dat de benodigde mappen en configuratie aanmaakt:

bash
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:

bash
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:

bash
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:

bash
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:

yaml
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:

bash
ANTHROPIC_API_KEY=sk-ant-xxxxx
OPENAI_API_KEY=sk-xxxxx

Omgevingsvariabelen

VariabeleVereistBeschrijving
ANTHROPIC_API_KEYJa*Claude API-sleutel
OPENAI_API_KEYNeeGPT API-sleutel (indien u OpenAI gebruikt)
OPENCLAW_PORTNeeWeb UI-poort (standaard: 3000)
OPENCLAW_HOMENeeGegevensmap binnen de container
TZNeeTijdzone voor geplande taken

*Minimaal één AI-providersleutel is vereist.

Uw container beheren

bash
# 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:

yaml
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:

yaml
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:

yaml
read_only: true
tmpfs:
  - /tmp
  - /run

Bijwerken

OpenClaw brengt regelmatig releases uit. Om uw Docker-implementatie bij te werken:

bash
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.

Blijf op de hoogte

Ontvang updates over nieuwe functies en integraties. Geen spam, altijd opzegbaar.