guide docker deployment security

Запуск OpenClaw в Docker: пошаговое руководство по развёртыванию

OpenClaws.io Team

OpenClaws.io Team

@openclaws

March 6, 2026

6 мин чтения

Запуск OpenClaw в Docker: пошаговое руководство по развёртыванию

Почему Docker?

Запуск OpenClaw в Docker обеспечивает три ключевых преимущества перед установкой на голое железо:

  1. 1.Изоляция безопасности: агент работает внутри контейнера с ограниченным доступом к вашей хост-системе. Если вредоносный навык или prompt injection попытается получить доступ к вашим файлам, граница контейнера ограничивает зону поражения.
  2. 2.Воспроизводимость: один и тот же Docker-образ работает идентично на любой машине — вашем ноутбуке, VPS или Raspberry Pi.
  3. 3.Простая очистка: хотите начать заново? Удалите контейнер и запустите новый. Никаких оставшихся файлов, никаких сломанных установок Node.js.

Предварительные требования

  • Docker Desktop (macOS/Windows) или Docker Engine (Linux)
  • Docker Compose v2 (входит в Docker Desktop)
  • Минимум 2 ГБ RAM, доступных для контейнера
  • API-ключ AI-провайдера (Anthropic, OpenAI или другой поддерживаемый провайдер)

Быстрый старт

Вариант A: официальный Docker Compose (рекомендуется)

Клонируйте репозиторий OpenClaw и используйте встроенную настройку Docker:

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

Запустите скрипт настройки, который создаёт необходимые директории и конфигурацию:

bash
bash docker-setup.sh
  • ~/.openclaw/ — конфигурация, SOUL.md, API-ключи
  • ~/openclaw/workspace/ — файлы, доступные агенту

Запустите мастер настройки внутри контейнера:

bash
docker compose run --rm openclaw-cli onboard

Следуйте подсказкам для настройки API-ключа и подключения платформы чата. Затем запустите шлюз:

bash
docker compose up -d openclaw-gateway

Ваш агент теперь работает в фоновом режиме.

Вариант B: готовый образ

Если вы не хотите клонировать репозиторий, используйте официальный готовый образ:

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

Вот аннотированный docker-compose.yml для продакшен-использования:

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"

Создайте файл .env в той же директории с вашими API-ключами:

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

Переменные окружения

ПеременнаяОбязательнаОписание
ANTHROPIC_API_KEYДа*API-ключ Claude
OPENAI_API_KEYНетAPI-ключ GPT (если используется OpenAI)
OPENCLAW_PORTНетПорт Web UI (по умолчанию: 3000)
OPENCLAW_HOMEНетДиректория данных внутри контейнера
TZНетЧасовой пояс для запланированных задач

*Требуется как минимум один ключ AI-провайдера.

Управление контейнером

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

Усиление безопасности

Ограничение доступа к файловой системе

Монтируйте только те директории, которые действительно нужны вашему агенту. Избегайте монтирования всей домашней директории:

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

Сетевая изоляция

Если вашему агенту не нужен доступ к сервисам локальной сети, ограничьте его сеть:

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

Файловая система с доступом только на чтение

Для максимальной безопасности сделайте корневую файловую систему доступной только для чтения и разрешите запись только по определённым путям:

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

Обновление

OpenClaw выпускает обновления часто. Чтобы обновить ваше 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

Ваша конфигурация и данные сохраняются в примонтированных томах, поэтому обновления не разрушительны.

Устранение неполадок

Контейнер сразу падает: проверьте логи с помощью docker logs openclaw. Распространённые причины: отсутствующие API-ключи, недостаточно памяти или конфликты портов.

QR-код WhatsApp не отображается: запустите настройку в интерактивном режиме: docker compose run --rm openclaw-cli onboard. Для отображения QR-кода нужен терминал с поддержкой рендеринга.

Ошибки прав доступа к примонтированным томам: убедитесь, что директории на хосте существуют и принадлежат вашему пользователю: mkdir -p ~/.openclaw ~/openclaw/workspace.

Высокое потребление памяти: установите mem_limit: 2g в docker-compose.yml, чтобы предотвратить чрезмерное потребление RAM контейнером.

Для получения дополнительной информации смотрите официальную документацию Docker и docker-compose.yml в репозитории.

Поделиться в:
star Star on GitHub

Будь в курсе

Получай новости о функциях и интеграциях. Без спама, отписаться можно в любой момент.