Невозможно принять новое устройство при запуске контроллера Unifi в контейнере докера

Я пытаюсь разместить контроллер Unifi в контейнере докера, но я не могу принять новое устройство (точку доступа), если я не установил сетевой режим на «хост». Я следил за несколькими руководствами и открыл все порты, перечисленные здесь . Можно управлять уже подключенными устройствами и находить новые устройства, но их внедрение приводит к бесконечному статусу «принятия».

Первая конфигурация основана на jacobalberty / unifi :

version: "3.7"

services:
  controller:
    image: jacobalberty/unifi:arm32v7
    restart: unless-stopped
    init: true
    volumes:
      - ./data:/unifi
    environment:
      TZ: "Europe/Stockholm"
    ports:
      - "3478:3478/udp"
      - "5514:5514/udp"
      - "8080:8080"
      - "8443:8443"
      - "8843:8843"
      - "8880:8880"
      - "6789:6789"
      - "27117:27117"
      - "5656-5699:5656-5699/udp"
      - "1900:1900"
      - "10001:10001/udp"
#    network_mode: "host"

Другая - прямая копия linuxserver.io пример:

version: "2.1"
services:
  unifi-controller:
    image: linuxserver/unifi-controller
    container_name: unifi-controller
    environment:
      - PUID=1000
      - PGID=1000
      - MEM_LIMIT=1024M #optional
    volumes:
      - ./data:/config
    ports:
      - 3478:3478/udp
      - 10001:10001/udp
      - 8080:8080
      - 8443:8443
      - 1900:1900/udp #optional
      - 8843:8843 #optional
      - 8880:8880 #optional
      - 6789:6789 #optional
      - 5514:5514 #optional
    restart: unless-stopped

Докер-контейнер работает на Raspberry Pi, подключенном к проводной сети. На хосте запущены другие контейнеры, но нет конфликтующих портов. Если возникли конфликты портов, запуск контейнера в любом случае невозможен.

1
задан 25 October 2020 в 13:35
2 ответа

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

Чтобы исправить это, вам нужно вручную установить IP-адрес контроллера в Настройки -> Контроллер -> Имя хоста/IP контроллера, а также не забудьте установить флажок Переопределить хост информирования с именем хоста контроллера /IP

Дополнительная информация об этом содержится в описании jacobalberty/unifi изображение в разделе Адаптация точек доступа/коммутаторов/шлюза безопасности.

5
ответ дан 25 October 2020 в 15:35

Чтобы добавить к приведенному выше решению, после того, как я обновил IP-адрес контроллера в настройках, необходимо было перезапустить док-контейнер, чтобы он сохранил изменения навсегда. Также рекомендуется использовать SSH в вашей точке доступа и запустить команду быстрой информации (просто введите информацию после входа в систему ), чтобы убедиться, что в статусе отображается подключение к правильному IP-адресу, а не внутренняя сеть докеров:

Статус :] Connected(http://192.168.1.X:8080/inform)

0
ответ дан 23 September 2021 в 13:15

Теги

Похожие вопросы