Установка OpenClaw через Docker: пошаговая инструкция
Развёртывание OpenClaw в контейнере Docker: docker run, docker-compose, настройка томов, портов и сетей
Тип материала: research
Зачем использовать Docker для OpenClaw
Docker — это инструмент контейнеризации, который позволяет запускать приложения в изолированной среде. Установка OpenClaw через Docker имеет ряд преимуществ перед нативной установкой: вам не нужно устанавливать Node.js и управлять его версиями, приложение работает в изолированном контейнере и не конфликтует с другими программами, развёртывание воспроизводимо на любой ОС, поддерживающей Docker, а обновление сводится к загрузке нового образа.
Docker-подход особенно удобен для серверного развёртывания, когда OpenClaw должен работать как фоновая служба на VPS или домашнем сервере.
Системные требования для Docker
Для работы OpenClaw через Docker вам потребуется: Docker Engine версии 20.10 или новее (Docker Desktop на macOS, Docker Engine на Linux). Docker Compose версии 2.0 или новее (входит в Docker Desktop и актуальные версии Docker Engine). Минимум 2 ГБ свободной оперативной памяти для контейнера. Около 1 ГБ дискового пространства для образа.
Проверьте, что Docker установлен и работает:
docker --version
docker compose versionСпособ 1: быстрый запуск через docker run
Самый быстрый способ попробовать OpenClaw в Docker — использовать готовый образ из GitHub Container Registry:
docker run -it --rm \
-p 18789:18789 \
-v openclaw-data:/root/.openclaw \
ghcr.io/openclaw/openclaw:latest \
onboardРазберём эту команду по частям. Флаг -it запускает контейнер в интерактивном режиме с привязкой к терминалу — это необходимо для прохождения мастера настройки. Флаг --rm автоматически удаляет контейнер после завершения. Параметр -p 18789:18789 пробрасывает порт Gateway из контейнера на хост-машину. Параметр -v openclaw-data:/root/.openclaw создаёт именованный Docker-том для хранения конфигурации и данных, которые сохраняются между перезапусками. Команда onboard запускает мастер начальной настройки.
После прохождения онбординга запустите Gateway как фоновую службу:
docker run -d \
--name openclaw-gateway \
--restart unless-stopped \
-p 18789:18789 \
-v openclaw-data:/root/.openclaw \
ghcr.io/openclaw/openclaw:latest \
gatewayФлаг -d запускает контейнер в фоновом режиме. Параметр --name присваивает контейнеру понятное имя. Параметр --restart unless-stopped автоматически перезапускает контейнер после перезагрузки сервера.
Способ 2: Docker Compose (рекомендуемый)
Для продакшн-развёртывания рекомендуется использовать Docker Compose, который позволяет описать конфигурацию в файле и управлять ею декларативно.
Создайте файл docker-compose.yml:
version: '3.8'
services:
openclaw-gateway:
image: ghcr.io/openclaw/openclaw:latest
container_name: openclaw-gateway
command: gateway --bind lan --port 18789
restart: unless-stopped
ports:
- "${OPENCLAW_GATEWAY_PORT:-18789}:18789"
volumes:
- ./openclaw-data:/root/.openclaw
env_file:
- .env
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:18789/healthz"]
interval: 30s
timeout: 10s
retries: 3
start_period: 15s
openclaw-cli:
image: ghcr.io/openclaw/openclaw:latest
volumes:
- ./openclaw-data:/root/.openclaw
env_file:
- .env
profiles:
- cliВ этой конфигурации определены два сервиса: openclaw-gateway — основной сервис, работающий постоянно, и openclaw-cli — вспомогательный сервис для выполнения CLI-команд (онбординг, отправка сообщений и т.д.), который запускается только по запросу через профиль cli.
Создайте файл .env для хранения переменных окружения:
OPENCLAW_GATEWAY_PORT=18789
OPENCLAW_GATEWAY_BIND=lan
# Добавьте API-ключи вашего LLM-провайдера
# ANTHROPIC_API_KEY=sk-ant-...
# OPENAI_API_KEY=sk-...Первый запуск с Docker Compose
Запустите мастер онбординга через CLI-профиль:
docker compose run --rm openclaw-cli onboardМастер проведёт вас через настройку провайдера LLM, генерацию токена Gateway и базовую конфигурацию агента. Все настройки будут сохранены в директорию openclaw-data.
После онбординга запустите Gateway:
docker compose up -d openclaw-gatewayПроверьте, что сервис работает:
docker compose logs openclaw-gateway
curl http://localhost:18789/healthzЭндпоинт /healthz должен вернуть статус liveness, а /readyz — статус readiness. Если оба отвечают успешно, Gateway запущен и готов к работе.
Сборка образа из исходников
Если вы хотите собрать Docker-образ из исходного кода (например, для внесения изменений), клонируйте репозиторий и используйте встроенный Dockerfile:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
docker build -t openclaw:local -f Dockerfile .Альтернативно, в репозитории есть скрипт автоматической настройки:
./docker-setup.shСкрипт автоматически собирает образ, запускает онбординг и конфигурирует Docker Compose. После его выполнения измените переменную окружения на ваш локальный образ:
export OPENCLAW_IMAGE="openclaw:local"Настройка сети: доступ к локальным сервисам
Важный нюанс при работе с Docker: контейнер имеет собственную сетевую среду и не может напрямую обращаться к сервисам на хост-машине по адресу localhost. Это актуально, например, при подключении к Ollama, работающему на хосте.
Для доступа к сервисам хост-машины из контейнера используйте специальный DNS-адрес:
host.docker.internalНапример, если Ollama запущен на хосте и слушает порт 11434, в конфигурации OpenClaw внутри контейнера укажите URL:
http://host.docker.internal:11434/v1На Linux, в зависимости от версии Docker, может потребоваться добавить параметр --add-host=host.docker.internal:host-gateway при запуске контейнера или добавить соответствующую секцию в docker-compose.yml:
extra_hosts:
- "host.docker.internal:host-gateway"Параметры привязки Gateway
Gateway поддерживает два режима сетевой привязки через переменную OPENCLAW_GATEWAY_BIND. Режим lan (по умолчанию): Gateway слушает на всех интерфейсах, доступен с хост-машины и из локальной сети через опубликованный порт. Режим loopback: Gateway доступен только внутри контейнерной сети, что обеспечивает дополнительную изоляцию.
Для большинства сценариев использования режим lan является оптимальным. Режим loopback подходит для продакшн-развёртываний, где перед Gateway стоит обратный прокси (nginx, Caddy) с поддержкой TLS.
Управление контейнером
Основные команды для управления запущенным контейнером OpenClaw:
# Просмотр логов
docker compose logs -f openclaw-gateway
# Остановка
docker compose stop openclaw-gateway
# Перезапуск
docker compose restart openclaw-gateway
# Обновление до последней версии
docker compose pull openclaw-gateway
docker compose up -d openclaw-gateway
# Выполнение CLI-команд
docker compose run --rm openclaw-cli send "Привет, как дела?"Развёртывание в Kubernetes
Для масштабных развёртываний OpenClaw можно запустить в кластере Kubernetes. Базовый манифест включает Deployment с одной репликой, Service типа ClusterIP для внутреннего доступа на порту 18789, PersistentVolumeClaim для хранения данных и Secret для API-ключей. Подробная инструкция по развёртыванию в Kubernetes выходит за рамки этого руководства, но основные принципы те же: проброс порта 18789, персистентное хранилище для директории /root/.openclaw и передача API-ключей через переменные окружения.
Безопасность Docker-развёртывания
При развёртывании OpenClaw в Docker обратите внимание на несколько аспектов безопасности. Не храните API-ключи в docker-compose.yml — используйте файл .env или Docker Secrets. Файл .env должен быть добавлен в .gitignore. Ограничьте доступ к порту 18789 через файрвол, если Gateway не должен быть доступен извне. Регулярно обновляйте базовый Docker-образ для получения исправлений безопасности.
Следующий шаг
После успешного развёртывания OpenClaw в Docker переходите к статье о первом запуске и начальной настройке, чтобы пройти мастер онбординга и сконфигурировать вашего AI-агента.
Хотите получать подобные материалы раньше?
Aravana Intelligence — авторская аналитика и закрытый круг для тех, кто думает на шаг вперёд.
Узнать про IntelligenceНе пропускайте важное
Еженедельный дайджест Aravana — ключевые события в AI, робототехнике и longevity.
Как начать пользоваться Midjourney: генерация картинок AI
Midjourney — самый популярный AI-генератор изображений. Фотореализм, арт, иллюстрации, логотипы. Показываем, как начать — от регистрации до первой картинки.
Как установить Ollama: запуск AI-моделей на своём компьютере
Ollama — самый простой способ запустить AI-модели локально. Llama, Mistral, Qwen, DeepSeek — всё работает на вашем компьютере, без интернета, бесплатно и приватно.
Как начать пользоваться ChatGPT: пошаговая инструкция для Mac, Windows, iPhone и Android
Регистрация, установка, первый запрос — всё, что нужно, чтобы начать общаться с самой популярной нейросетью в мире. Без технических знаний, за 5 минут.