在 docker 容器中运行 Unifi Controller 时无法采用新设备

Mar*_*erg 6 docker unifi

我正在尝试在 docker 容器中托管 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"
Run Code Online (Sandbox Code Playgroud)

另一个是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
Run Code Online (Sandbox Code Playgroud)

Docker 容器在连接到有线网络的 Raspberry Pi 上运行。主机正在运行其他容器,但没有冲突的端口。如果存在端口冲突,无论如何都不应该启动容器。

小智 17

问题是容器不知道主机的本地 IP 地址,因此它无法告诉 AP 应使用哪个 IP 地址进行连接。

要解决此问题,您必须手动设置控制器 IP 地址Settings -> Controller -> Controller Hostname/IP,并且不要忘记检查Override inform host with controller hostname/IP

有关此内容的更多信息,请参阅jacobalberty/unifi映像的描述 ,位于采用接入点/交换机/安全网关下。

编辑:现在它在下面Settings -> System -> Advanced -> Override Inform Host