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 Описание сценария и шагов воспроизведения ОС сервера

        Решение

        1. Остановите контейнеры Принтум

        Если установлен Мониторинг:

        cd /opt/printum
        docker-compose down

        Если установлен ПринтМенеджер:

        cd /opt/printmanager
        docker-compose down
        1. Проверьте наличие файла конфигурации Docker

        Проверьте, существует ли файл /etc/docker/daemon.json. Если файла нет — создайте его:

        sudo nano /etc/docker/daemon.json
        1. Укажите новый пул IP-адресов Docker

        Добавьте или отредактируйте содержимое файла:

        {
          "default-address-pools": [
            {
              "base": "x.x.x.x/x",
              "size": 26
            }
          ]
        }
        • "base" — выделенный диапазон IP-адресов, который не пересекается с локальной сетью.
        • "size": 26 — размер подсети (изменять не требуется).

        Используйте только свободный диапазон, согласованный с сетевым администратором. Сохраните файл и выйдите из редактора.

        1. Перезапустите службу Docker
        sudo systemctl restart docker
        1. Запустите контейнеры Принтум

        Если установлен Мониторинг:

        cd /opt/printum
        docker-compose up -d

        Если установлен ПринтМенеджер:

        cd /opt/printmanager
        docker-compose up -d
        1. Проверьте адреса контейнеров
        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).