Запуск OpenClaw внутри Docker-контейнера Ollama для упрощения работы с сетью

Один пользователь r/openclaw поделился настройкой, которая помещает OpenClaw в тот же Docker-контейнер, что и Ollama, устраняя необходимость в host.docker.internal или именах хостов контейнеров. Подход прост: начните с официального образа ollama/ollama, установите в него OpenClaw, и пусть OpenClaw общается с Ollama на 127.0.0.1:11434. Это позволяет избежать типичных проблем с сетью, но приводит к высокому потреблению ОЗУ.
Основные шаги настройки
Запустите контейнер с поддержкой GPU, постоянным хранилищем моделей и портами 11434 и 18789 (для шлюза OpenClaw):
docker run -d \
--name ollamaopenclaw \
--gpus=all \
-v ollama_docker:/root/.ollama \
-p 11434:11434 \
-p 18789:18789 \
ollama/ollama
Чтобы привязать порты только к localhost:
docker run -d \
--name ollamaopenclaw \
--gpus=all \
-v ollama_docker:/root/.ollama \
-p 127.0.0.1:11434:11434 \
-p 127.0.0.1:18789:18789 \
ollama/ollama
Откройте оболочку в контейнере и установите OpenClaw:
docker exec -it ollamaopenclaw sh
apt-get update && apt-get install -y curl git bash ca-certificates
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
export PATH="$HOME/.openclaw/bin:$PATH"
openclaw --version
Загрузите модели (протестированы с небольшими вариантами Qwen):
ollama pull qwen3.5:0.8b
ollama pull qwen3.5:2b
ollama pull qwen3.5:4b
ollama list
Настройте шлюз OpenClaw:
export OLLAMA_API_KEY="ollama-local"
openclaw config set gateway.bind lan
openclaw config set gateway.port 18789
openclaw config set gateway.controlUi.allowedOrigins '["http://localhost:18789","http://127.0.0.1:18789"]' --strict-json
Запустите шлюз (терминал оставьте открытым):
openclaw gateway run --bind lan --port 18789 --allow-unconfigured
Во втором терминале снова войдите в контейнер и запустите OpenClaw:
docker exec -it ollamaopenclaw sh
export PATH="$HOME/.openclaw/bin:$PATH"
export OLLAMA_API_KEY="ollama-local"
# Затем выполняйте команды openclaw
Результаты и компромиссы
Настройка работает: OpenClaw использует 127.0.0.1:11434 для Ollama, не требуется дополнительных сетевых конфигураций. Порты и хранилище остаются изолированными. Однако использование ОЗУ велико — большие промпты перегружают маленькие локальные модели (протестированы от 0,8B до 4B). Пользователь отмечает, что это не легковесное решение, но оно более чистое с точки зрения изоляции контейнеров.
Для кого это
Разработчики, которые хотят запустить OpenClaw и Ollama в одном Docker-контейнере, чтобы избежать хостовой сети и проблем с host.docker.internal, особенно для локальных или CI-связанных цепочек LLM-инструментов.
📖 Читать полный источник: r/openclaw
👀 Смотрите также

Исправление системы проверки устраняет проблему выполнения плана Клода
Разработчик создал проверочный слой на bash или Python объемом 30-50 строк, который проверяет, действительно ли Claude выполняет каждый шаг своих планов, верифицируя артефакты, такие как существование файлов, ответы API и изменения конфигураций.
Ответ субагента не является подтверждением завершения: контрольный список проверки для оркестратора
Функция sessions_spawn в OpenClaw неблокирующая — ответ не означает завершение. Используйте yield и Task Flow, а также сверяйте состояние дочерних задач, чтобы избежать ложного успеха.

Сокращение использования токенов MCP за счёт замены серверов на альтернативы CLI
Разработчик обнаружил, что MCP-серверы занимали 30-40% его контекстного окна определениями инструментов, поэтому он заменил четыре MCP-сервера на CLI-инструменты там, где это было возможно, сократив количество с 6 до 2 MCP-серверов, сохранив при этом функциональность.

Скрыть строки выполнения OpenClaw в чате Telegram: исправление одной командой
Одной командой отключайте спам exec в Telegram. Установите streaming.preview.toolProgress и streaming.progress.toolProgress в false. Включает резервное копирование, проверку JSON, перезапуск.