Skip to main content

Конфликт адресов Docker при установке

Симптомы После установки системы Принтум происходит разрыв соединения с сервером. Подключение по SSH становится недоступным сразу после установки или при первом запуске контейнеров. Возможные причины Конфликт IP-адресов между внутренней сетью Docker и реальной локальной сетью. Для работы Принтум используется внутренняя сеть Docker с пулом адресов: 10.28.32.0/26 Если данный диапазон пересекается с адресным пространством инфраструктуры — необходимо выделить другой пул адресов для Docker. Когда может возникнуть проблема Во время установки системы. Сразу после установки. При первом запуске контейнеров. Диагностика Если подключение по SSH недоступно — подключитесь к серверу через консоль гипервизора (vSphere / Proxmox / Hyper-V и т.д.). Логи и диагностические данные Где смотреть логи printum_nginx — Nginx Мониторинга — если конфликт возник при установке Мониторинга cd /opt/printum && docker-compose logs -f --tail=200 printum_nginx printmanager_web — Nginx ПринтМенеджера — если конфликт возник при установке ПринтМенеджер cd /opt/printmanager && docker-compose logs -f --tail=200 printmanager_web Что искать в логах Выявить ошибки запуска контейнеров после изменения пула адресов. Проверить, что контейнеры успешно запустились после перенастройки сети Docker. Что приложить к обращению в поддержку Вывод команды bash /opt/printum/logs.sh (Мониторинг) или bash /opt/printmanager/logs.sh (ПринтМенеджер) Версию: cat /opt/printum/.version или cat /opt/printmanager/.version Описание сценария и шагов воспроизведения ОС сервера Решение Остановите контейнеры Принтум Если установлен Мониторинг: cd /opt/printum docker-compose down Если установлен ПринтМенеджер: cd /opt/printmanager docker-compose down Проверьте наличие файла конфигурации Docker Проверьте, существует ли файл /etc/docker/daemon.json . Если файла нет — создайте его: sudo nano /etc/docker/daemon.json Укажите новый пул IP-адресов Docker Добавьте или отредактируйте содержимое файла: { "default-address-pools": [ { "base": "x.x.x.x/x", "size": 26 } ] } "base" — выделенный диапазон IP-адресов, который не пересекается с локальной сетью. "size": 26 — размер подсети (изменять не требуется). Используйте только свободный диапазон, согласованный с сетевым администратором. Сохраните файл и выйдите из редактора. Перезапустите службу Docker sudo systemctl restart docker Запустите контейнеры Принтум Если установлен Мониторинг: cd /opt/printum docker-compose up -d Если установлен ПринтМенеджер: cd /opt/printmanager docker-compose up -d Проверьте адреса контейнеров sudo docker ps -q | sudo xargs -n 1 docker inspect -f '{{ .Name }}: {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' Ошибка при запуске контейнеров ERROR: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network Причина: выбранный диапазон адресов также пересекается с существующими сетями. Решение: вернитесь к шагу 3 и укажите другой диапазон IP-адресов. Если конфликт известен до установки Если известно, что адресное пространство 10.28.32.0/26 конфликтует с вашей сетью до установки системы — выполните инструкцию, игнорируя шаги 1 и 5 (остановку и повторный запуск контейнеров). Настройка пула выполняется до первого запуска системы. Что проверить перед эскалацией Выбранный диапазон не пересекается с другими подсетями (проверить с сетевым администратором). Файл /etc/docker/daemon.json сохранён корректно (валидный JSON). Служба Docker перезапущена после изменения конфигурации. IP-адреса контейнеров принадлежат новому пулу (шаг 6).