Почему Docker?
Запуск OpenClaw в Docker обеспечивает три ключевых преимущества перед установкой на голое железо:
- 1.Изоляция безопасности: агент работает внутри контейнера с ограниченным доступом к вашей хост-системе. Если вредоносный навык или prompt injection попытается получить доступ к вашим файлам, граница контейнера ограничивает зону поражения.
- 2.Воспроизводимость: один и тот же Docker-образ работает идентично на любой машине — вашем ноутбуке, VPS или Raspberry Pi.
- 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:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
Запустите скрипт настройки, который создаёт необходимые директории и конфигурацию:
bash docker-setup.sh
- •
~/.openclaw/— конфигурация, SOUL.md, API-ключи - •
~/openclaw/workspace/— файлы, доступные агенту
Запустите мастер настройки внутри контейнера:
docker compose run --rm openclaw-cli onboard
Следуйте подсказкам для настройки API-ключа и подключения платформы чата. Затем запустите шлюз:
docker compose up -d openclaw-gateway
Ваш агент теперь работает в фоновом режиме.
Вариант B: готовый образ
Если вы не хотите клонировать репозиторий, используйте официальный готовый образ:
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 для продакшен-использования:
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-ключами:
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-провайдера.
Управление контейнером
# 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
Усиление безопасности
Ограничение доступа к файловой системе
Монтируйте только те директории, которые действительно нужны вашему агенту. Избегайте монтирования всей домашней директории:
volumes:
- ~/.openclaw:/root/.openclaw:rw # Config (read-write)
- ~/documents:/root/docs:ro # Documents (read-only)
Сетевая изоляция
Если вашему агенту не нужен доступ к сервисам локальной сети, ограничьте его сеть:
networks:
openclaw-net:
driver: bridge
internal: false # Set to true to block all external access
Файловая система с доступом только на чтение
Для максимальной безопасности сделайте корневую файловую систему доступной только для чтения и разрешите запись только по определённым путям:
read_only: true
tmpfs:
- /tmp
- /run
Обновление
OpenClaw выпускает обновления часто. Чтобы обновить ваше Docker-развёртывание:
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 в репозитории.