guide docker deployment security

Uruchamianie OpenClaw w Docker: przewodnik wdrożeniowy krok po kroku

OpenClaws.io Team

OpenClaws.io Team

@openclaws

March 6, 2026

6 min czytania

Uruchamianie OpenClaw w Docker: przewodnik wdrożeniowy krok po kroku

Dlaczego Docker?

Uruchamianie OpenClaw w Docker zapewnia trzy kluczowe zalety w porównaniu z instalacją na gołym sprzęcie:

  1. 1.Izolacja bezpieczeństwa: Agent działa wewnątrz kontenera z ograniczonym dostępem do systemu hosta. Jeśli złośliwa umiejętność lub wstrzyknięcie promptu próbuje uzyskać dostęp do twoich plików, granica kontenera ogranicza zasięg zniszczeń.
  2. 2.Odtwarzalność: Ten sam obraz Docker działa identycznie na dowolnej maszynie — twoim laptopie, VPS-ie czy Raspberry Pi.
  3. 3.Łatwe czyszczenie: Chcesz zacząć od nowa? Usuń kontener i uruchom nowy. Żadnych pozostałych plików, żadnych zepsutych instalacji Node.js.

Wymagania wstępne

  • Docker Desktop (macOS/Windows) lub Docker Engine (Linux)
  • Docker Compose v2 (zawarty w Docker Desktop)
  • Co najmniej 2 GB RAM dostępne dla kontenera
  • Klucz API AI (Anthropic, OpenAI lub inny obsługiwany dostawca)

Szybki start

Opcja A: Oficjalny Docker Compose (zalecane)

Sklonuj repozytorium OpenClaw i użyj wbudowanej konfiguracji Docker:

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

Uruchom skrypt konfiguracyjny, który tworzy potrzebne katalogi i konfigurację:

bash
bash docker-setup.sh
  • ~/.openclaw/ — konfiguracja, SOUL.md, klucze API
  • ~/openclaw/workspace/ — pliki dostępne dla agenta

Uruchom kreator konfiguracji wewnątrz kontenera:

bash
docker compose run --rm openclaw-cli onboard

Postępuj zgodnie z instrukcjami, aby skonfigurować klucz API i połączyć platformę czatową. Następnie uruchom bramę:

bash
docker compose up -d openclaw-gateway

Twój agent działa teraz w tle.

Opcja B: Gotowy obraz

Jeśli nie chcesz klonować repozytorium, użyj oficjalnego gotowego obrazu:

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

Dokumentacja Docker Compose

Oto opatrzony komentarzami docker-compose.yml do użytku produkcyjnego:

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"

Utwórz plik .env w tym samym katalogu z kluczami API:

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

Zmienne środowiskowe

ZmiennaWymaganaOpis
ANTHROPIC_API_KEYTak*Klucz API Claude
OPENAI_API_KEYNieKlucz API GPT (jeśli używasz OpenAI)
OPENCLAW_PORTNiePort Web UI (domyślnie: 3000)
OPENCLAW_HOMENieKatalog danych wewnątrz kontenera
TZNieStrefa czasowa dla zaplanowanych zadań

*Wymagany jest co najmniej jeden klucz dostawcy AI.

Zarządzanie kontenerem

bash
# Wyświetl logi
docker logs -f openclaw

# Zatrzymaj agenta
docker compose stop

# Uruchom agenta
docker compose up -d

# Zrestartuj po zmianach konfiguracji
docker compose restart

# Zaktualizuj do najnowszej wersji
docker compose pull
docker compose up -d

# Wejdź do powłoki kontenera
docker exec -it openclaw bash

# Uruchom polecenia CLI wewnątrz kontenera
docker exec openclaw openclaw skill list
docker exec openclaw openclaw status

Wzmocnienie bezpieczeństwa

Ogranicz dostęp do systemu plików

Montuj tylko katalogi, których twój agent faktycznie potrzebuje. Unikaj montowania całego katalogu domowego:

yaml
volumes:
  - ~/.openclaw:/root/.openclaw:rw     # Config (read-write)
  - ~/documents:/root/docs:ro           # Documents (read-only)

Izolacja sieciowa

Jeśli twój agent nie potrzebuje dostępu do usług sieci lokalnej, ogranicz jego sieć:

yaml
networks:
  openclaw-net:
    driver: bridge
    internal: false    # Set to true to block all external access

System plików root tylko do odczytu

Dla maksymalnego bezpieczeństwa ustaw system plików root na tylko do odczytu i pozwól na zapis tylko do konkretnych ścieżek:

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

Aktualizowanie

OpenClaw wydaje nowe wersje często. Aby zaktualizować wdrożenie Docker:

bash
docker compose pull           # Pull latest image
docker compose up -d          # Recreate container with new image
docker image prune -f         # Clean up old images

Twoja konfiguracja i dane są zachowane w zamontowanych wolumenach, więc aktualizacje są niedestrukcyjne.

Rozwiązywanie problemów

Kontener natychmiast się zawiesza: Sprawdź logi poleceniem docker logs openclaw. Częste przyczyny: brakujące klucze API, niewystarczająca pamięć lub konflikty portów.

Kod QR WhatsApp się nie wyświetla: Uruchom onboarding w trybie interaktywnym: docker compose run --rm openclaw-cli onboard. Kod QR wymaga terminala obsługującego renderowanie.

Błędy uprawnień na zamontowanych wolumenach: Upewnij się, że katalogi hosta istnieją i należą do twojego użytkownika: mkdir -p ~/.openclaw ~/openclaw/workspace.

Wysokie zużycie pamięci: Ustaw mem_limit: 2g w docker-compose.yml, aby zapobiec nadmiernemu zużyciu RAM przez kontener.

Więcej szczegółów znajdziesz w oficjalnej dokumentacji Docker oraz w docker-compose.yml w repozytorium.

Bądź na bieżąco

Otrzymuj informacje o nowych funkcjach i integracjach. Bez spamu, wypisanie w każdej chwili.