OpenClaw на Docker Compose в 2026 году
Сеть и доступность CLI

Матрица пространства имен · выбор режима сети · обратный прокси-сервер WebSocket · разрешенные источники · шестиэтапная книга задач

OpenClaw Docker Compose network Gateway CLI troubleshooting

Операторы самостоятельно размещают OpenClaw на VPS с помощью Composeчасто попадаю в мираж:docker compose psзеленый, журналы шлюза прокручиваются, ноCLI openclaw на хосте или в контейнере сопровождения сохраняет тайм-аут или возвращает 502. Основная причина обычно кроется вкак сетевые пространства имен сочетаются с адресами привязки, а не ключ API модели. В этой статье говоритсяу кого какая проблема, используеттрехуровневое дерево симптомовчтобы отделить работоспособность процесса от истинной достижимости, сравниваетмост, хост и network_mode: сервисв матрице проходитшестишаговая воспроизводимая книга заданийчерез опубликованные порты, привязки обратной связи, обновления WebSocket с обратным прокси-сервером иallowedOriginsи закрывается напроверяемые технические факты плюс матрица решений. Перекрестно прочтитеБазовый уровень производства Docker Compose,Контрольный список изоляции нескольких экземпляровиКонтрольный список усиления защиты шлюза; для стабильных узлов и предсказуемого выхода используйтестраница заказа.

01

Переведите Healthcheck Green в сетевые термины: пять частых ошибок в понимании

Сочинениеhealthcheckчасто проверяет петлю внутри контейнера или жизнеспособность процесса. Этоне доказывает автоматическичто разрешение DNS, iptables и прокси пользовательского пространства взаимодействуют на пути от контейнера CLI к имени службы шлюза. Пять моделей, представленных ниже, объединяются в билеты; их разделение немедленно сокращает ваш журнал инцидентов.

  1. 01

    Прослушивание только на 127.0.0.1:когда шлюз связывает петлю, родственные службы на том же мосту получают отказ в соединении через имя службы; это похоже на случайные тайм-ауты, хотя ничто никогда не покидало это пространство имен сети.

  2. 02

    CLI на хосте с именем хоста контейнера:копированиеopenclaw-gateway:18789в профиль оболочки хоста мгновенно смещает разрешение и маршрутизацию.

  3. 03

    Обратный прокси-сервер пересылает HTTP, но не обновляет:браузеры или интерфейсы командной строки, использующие WSS, видят 400 или тихие сбросы, в то время как журналы приложений по-прежнему показывают готовность шлюза.

  4. 04

    разрешенное происхождение отклоняется от реального происхождения:смешивание производственных доменов, внутренних псевдонимов и имен в стиле MagicDNS отклоняет рукопожатия на уровне приложения, в то время как захват пакетов выглядит нормально.

  5. 05

    network_mode: гонки перезапуска службы:после перезапуска изменений порядка нисходящие потоки по-прежнему обращаются к старым IP-адресам контейнеров или устаревшим сопоставлениям портов, что приводит к периодическому успеху.

Распечатайте следующий раздел в качестве обзорного материала: разрешите изменять только одну ячейку матрицы при каждом изменении архитектуры и прикрепите парные выходные данные для Curl внутри одного и того же пространства имен, а не для Curl из внешнего пространства имен.

Добавьте измерение времени: во время чередующихся обновлений Compose на короткое время запускает старые и новые контейнеры вместе. Если кэши DNS и клиентские пулы расходятся, вы увидитепервый запрос успешен, затем минуты неудач. Прежде чем увеличивать таймауты, обновите разрешение на инициаторе и сравните повторное использование соединения с текущей конечной точкой изdocker inspect. Если вы также связываете пользовательское пространство или корпоративные прокси, войдите в системуПОДКЛЮЧИТЬ цели туннеляотдельно отпрямые целипоэтому ошибка 407 от прокси-сервера не воспринимается ошибочно как ошибка аутентификации приложения.

Еще один легкий промахMTU и фрагментацияна путях между облаками или между несущими, что приводит к спорадическим тайм-аутам. Когда большие полезные нагрузки выходят из строя, а крошечные проверки работоспособности остаются зелеными, сузьте захват до размеров кадров WebSocket и границ записей TLS вместо того, чтобы сначала переписывать маршруты приложений.

Как только эти сигналы появятся в билете на изменение, выровняйте временные метки междуopenclaw logsи журналы доступа к периферии. Большинство команд могут превратить загадочную сеть водно поле конфигурациив течение тридцати минут, что также является глубиной контекста, который должен содержать минимальный пакет репродукций при обращении за помощью извне.

02

Составление сетевых моделей: мост по умолчанию, хост и общие сетевые пространства имен.

Когда выберете модель, запишитекто инициирует соединение, какое имя соответствует какому адресу и какие уровни NAT находятся между ними.. Без этого стола команда играет в пинг-понг между сменамиports, extra_hostsи восходящие потоки обратного прокси.

МодельТипичная схема прослушиванияДругие службы в том же файле компоновкиХост-процессы
Мост по умолчанию с опубликованными портами0.0.0.0внутри контейнера или явные публикацииИспользуйте имя службы Compose и внутренний порт.Использовать127.0.0.1:publishedили IP-адрес сетевой карты хоста
Хост-сетьСовместно использует стек хоста; привязки видны хостуДругие контейнеры, находящиеся за пределами мостане могусохраните старый путь к имени службыПроверьте коллизии портов и цепочки брандмауэра INPUT рядом с контейнерами.
network_mode: сервис: шлюзСовместно использует сеть шлюза; семантика обратной связи выравниваетсяКоляски могут позвонить127.0.0.1:gateway-portХосту по-прежнему нужны опубликованные порты или прокси; ничего не наследуется автоматически

Истинная достижимость означает повторение одного и того же имени хоста, порта и параметров TLS внутри.пространство имен сети инициатораи получать последовательные ответы, а не одноразовое движение ноутбука.

03

Шестишаговый модуль Runbook: от жизнеспособности процессов до обновлений и источников WebSocket

Последовательность сначала сохраняет самые дешевые наблюдения; останавливайте и сохраняйте выходные данные всякий раз, когда шаг завершается неудачно. Если имена полей отличаются от вашей установки, перепроверьтеконтрольный список установки и устранения неполадок врачом.

  1. 01

    Укажите инициатора:обратите внимание, выполняются ли команды на хосте, в боковой панели шлюза или в автономном контейнере CLI; захватыватьhostnameи короткийip routeкраткое содержание.

  2. 02

    HTTP-зонд внутри netns:из пространства имен инициатора, GET или HEAD целевого имени хоста и порта, проверьте коды состояния и префиксы тела и исключите чистый сбой DNS.

  3. 03

    Веб-сокет-зонд:проверяйте фактически используемый путь обновления, записывайте заголовки ответов Edge и приложений и согласовывайте временные метки с журналами.

  4. 04

    Матрица прослушивания внутри шлюза:если слушатели связывают127.0.0.1только и требуется межсервисный доступ, перейдите в0.0.0.0или используйте общую сеть netns и соответствующим образом обновите Runbook.

  5. 05

    Четырехкратный обратный прокси:подтвердить точки восходящего потока на IP-адресе контейнера по сравнению с опубликованным портом, проверитьConnectionиUpgradeпереадресацию и убедитесь, что тайм-ауты простоя не обрезают долгоживущие сеансы.

  6. 06

    Контрольный список происхождения:перечислить реальныеOriginстроки или их эквиваленты для браузеров, интерфейсов командной строки и CI; каждая недостающая строка является блокировщиком выпуска.

Внутренний стек мостов в сравнении с хостом (примеры)
docker compose ps
docker compose exec cli sh -lc 'getent hosts openclaw-gateway; curl -fsS -o /dev/null -w "%{http_code}\n" http://openclaw-gateway:18789/health || true'
curl -fsS -o /dev/null -w "%{http_code}\n" http://127.0.0.1:18789/health || true
docker compose logs --no-color --tail=200 openclaw-gateway

Примечание:замените имена служб, порты и пути работоспособности значениями из вашего репозитория; сохраните шаблон запуска одного и того же URL-адреса из двух пространств имен.

04

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

В этом разделе перечисленыфакты, которые вы можете назвать в файлах конфигурации, а не вибрации по поводу плохого поведения CDN. Чтобы узнать об ограничениях памяти и языке ротации журналов, вернитесь кСоставление базового плана производства.

  • Опубликованные порты и iptables: ports:сопоставления создают правила DNAT на хосте; неправильное понимание порядка между локальными политиками брандмауэра и цепочками Docker приводит к успеху между контейнерами, в то время как путь к хосту терпит неудачу, или наоборот.
  • Семантика привязки 127.0.0.1:прослушивание шлейфа внутри контейнера netns принимает только вход шлейфа для этого netns; это не противоречит автоматически публикации портов, но часто противоречит родственным контейнерам, обращающимся к вам по имени службы.
  • WebSocket сосуществует с HTTP/2:когда пограничный буфер неправильно обрабатывает тайм-ауты обновления или поддержания активности, потоки тихо умирают через десятки секунд после рукопожатия; выровняйте временные метки с обеих сторон перед сменой ключей API.

Предупреждение:не изменяйте одновременно восходящие каналы обратного прокси, привязки шлюза и конфигурацию CLI без записанной базовой линии; треугольные изменения делают невозможным деление пополам.

05

Матрица решений: когда дополнительный интерфейс командной строки или сеть хоста оправдывают сложность

Напишите логическое значение, указывающее, должен ли CLI использовать семантику обратной связи со шлюзом перед выбором.network_mode: service:или хост. Используйте матрицу для анализа дизайна, а не лозунги.

ОграничениеБезопасный вариант по умолчаниюСигнал принятия ключаОсновной риск
CLI и шлюз в одном файле компоновкимост плюс явный0.0.0.0связываетразрешение имени службы соответствует завитку внутреннего портаДокументация по межсетевому экрану и опубликованным портам отклоняется от реальности
Необходимо использовать семантику localhostколяска сnetwork_mode: service:gatewayперезапуск сайдкара не восстанавливает устаревшие пулы соединенийпары заказов на обновление с разрешениями на монтирование тома
Обратный прокси-сервер зрелого хоста уже существует.только опубликованная петля плюс завершение TLS на границепроверка пакетов или журналов показывает последовательное обновление WSallowedOriginsпропускает формы URL-адресов, которые фактически использует CLI

Использование специальных туннельных сценариев или файлов хостов, отредактированных вручную, привязывает среднее время восстановления к отдельной памяти. Когда изменяются сертификаты восходящего потока или внутренний DNS, сортировка возвращается к собраниям с участием всех участников.

Распространенная ошибка:сначала увидеть 502 и повернуть ключи модели; завершите проверку HTTP и WebSocket из третьего раздела, прежде чем прикасаться к учетным данным.

Временное открытие портов без контрольного списка редко подтверждает позицию «запретить по умолчанию и явно разрешить» для аудита. Когда OpenClaw должен поставляться вместе с фиксированным исходящим трафиком, именами хостов и взаимной политикой TLS,На специальных сетевых уровнях VPS часто отсутствуют заметные записи об изменениях.. Для команд, которым нужны сборки iOS, передача рабочего стола и постоянные агенты навыделенные машины с предсказуемыми регионами и сетевыми уровнямии хотите, чтобы было меньше циклов угадывания сети хоста или контейнера,Аренда облака VpsMesh Mac Mini обычно предпочтительнее.: выделенные узлы упрощают описание прослушивателей и списков ACL на том же языке, что иRunbook частной сети команды; ценообразование живет настраница цени руководство по подключению насправочный центр.

Часто задаваемые вопросы

Три вопроса, которые читатели задают в первую очередь

Запустите HTTP-зонды внутрите же сети, что и CLI, затем подтвердите обновление WebSocket и только после этого повторно посетите имена хостов CLI на предмет случайной обратной связи хоста или устаревших псевдонимов. Информацию об укреплении см.контрольный список производственного упрочнения.

Используйте его, когда помощникам необходимо совместно использовать стек шлюза и представление обратной связи; документировать заказ на перезапуск общей службы и перепроверить официальные примечания по подключению всправочный центр.

Тайм-ауты восходящего потока, отсутствие пересылки заголовка обновления илиallowedOriginsпробелы в реальном происхождении клиента; согласуйте журналы периферийных устройств и приложений перед сменой ключей или маршрутов моделирования. Информацию о планах и необходимости выхода см.страница цен.