该镜像已弃用。自2024年1月1日起,此镜像将不再更新,也不再提供支持。建议迁移至LinuxServer.io的https://github.com/linuxserver/docker-unifi-network-application%E9%95%9C%E5%83%8F%E3%80%82
Unifi-controller软件是一款功能强大的企业级无线网络管理引擎,适用于需要低延迟和高可用性的高密度客户端部署场景。
该镜像利用Docker manifest实现多平台支持。拉取lscr.io/linuxserver/unifi-controller:latest即可自动获取适合当前架构的镜像,也可通过标签指定特定架构。
| 架构 | 可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64- |
| arm64 | ✅ | arm64v8- |
| armhf | ❌ |
| 标签 | 可用 | 描述 |
|---|---|---|
| latest | ✅ | Unifi Controller稳定版发布 |
| mongoless | ✅ | 不含MongoDB的Unifi Controller稳定版 |
自2024年1月1日起,此镜像将被弃用且不再更新。请迁移至https://github.com/linuxserver/docker-unifi-network-application%E9%95%9C%E5%83%8F%EF%BC%8C%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%E5%8F%82%E8%A7%81%EF%BC%9Ahttps://info.linuxserver.io/issues/2023-09-06-unifi-controller
Web管理界面地址:https://
为使Unifi控制器能够接入其他设备(如接入点),需修改通知IP地址。由于容器默认使用设备无法访问的内部IP,需进入设置 > 系统 > 高级,将"通知主机"(Inform Host)设置为设备可访问的主机名或IP地址,并勾选"覆盖"(Override)选项,确保设备在接入过程中能连接控制器。
注意:Unifi会定期调整此选项位置,若未找到,可在设置中搜索"Inform"或"Inform Host"。
bashssh ubnt@$AP-IP set-inform http://$address:8080/inform
ubnt$address:运行容器的主机IP地址$AP-IP:接入点的IP地址使用安全网关时,若网络设备无法获取IP,需进入设置 > 网络 > <网络名称>,将"DHCP网关IP"(DHCP Gateway IP)设置为可访问的正确IP地址。
此镜像默认使用自签名证书,因此协议为https。若使用验证证书的反向代理,需禁用对容器的证书检查。
yaml--- version: "2.1" services: unifi-controller: image: lscr.io/linuxserver/unifi-controller:latest container_name: unifi-controller environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - MEM_LIMIT=1024 #可选 - MEM_STARTUP=1024 #可选 volumes: - /path/to/data:/config ports: - 8443:8443 - 3478:3478/udp - 10001:10001/udp - 8080:8080 - 1900:1900/udp #可选 - 8843:8843 #可选 - 8880:8880 #可选 - 6789:6789 #可选 - 5514:5514/udp #可选 restart: unless-stopped
bashdocker run -d \ --name=unifi-controller \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e MEM_LIMIT=1024 `#可选` \ -e MEM_STARTUP=1024 `#可选` \ -p 8443:8443 \ -p 3478:3478/udp \ -p 10001:10001/udp \ -p 8080:8080 \ -p 1900:1900/udp `#可选` \ -p 8843:8843 `#可选` \ -p 8880:8880 `#可选` \ -p 6789:6789 `#可选` \ -p 5514:5514/udp `#可选` \ -v /path/to/data:/config \ --restart unless-stopped \ lscr.io/linuxserver/unifi-controller:latest
容器通过运行时参数配置,格式为<外部>:<内部>。
| 参数 | 功能 |
|---|---|
-p 8443 | Unifi Web管理端口 |
-p 3478/udp | Unifi STUN端口 |
-p 10001/udp | 接入点发现所需端口 |
-p 8080 | 设备通信所需端口 |
-p 1900/udp | "使控制器在L2网络可发现"选项所需(可选) |
-p 8843 | Unifi访客门户HTTPS重定向端口(可选) |
-p 8880 | Unifi访客门户HTTP重定向端口(可选) |
-p 6789 | 移动吞吐量测试端口(可选) |
-p 5514/udp | 远程syslog端口(可选) |
| 参数 | 功能 |
|---|---|
-e PUID=1000 | 用户ID - 详见下方说明 |
-e PGID=1000 | 组ID - 详见下方说明 |
-e TZ=Etc/UTC | 指定时区,列表参见时区数据库 |
-e MEM_LIMIT=1024 | 可选,修改Java内存限制(MB),设为default恢复默认值 |
-e MEM_STARTUP=1024 | 可选,修改Java初始/最小内存(MB),设为default恢复默认值 |
| 参数 | 功能 |
|---|---|
-v /config | Unifi所有数据存储路径 |
可通过特殊前缀FILE__从文件设置环境变量,例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
将从/run/secrets/mysecretvariable文件内容设置MYVAR环境变量。
所有镜像支持通过-e UMASK=022覆盖容器内服务的默认umask设置。注意umask是权限减法而非加法,详情参见umask说明。
使用卷时,可通过指定PUID(用户ID)和PGID(组ID)避免主机与容器间的权限问题。确保主机卷目录所有者与指定的PUID/PGID一致。
通过id your_user命令获取当前用户的PUID和PGID:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=unifi-controller&query=%24.mods%5B%27unifi-controller%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml]([] "查看此容器可用的Mods") https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml]([] "查看通用Mods")
LinuxServer.io提供多种https://github.com/linuxserver/docker-mods%E4%BB%A5%E6%89%A9%E5%B1%95%E5%AE%B9%E5%99%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%B8%8A%E8%BF%B0%E5%BE%BD%E7%AB%A0%E9%93%BE%E6%8E%A5%E5%8F%AF%E6%9F%A5%E7%9C%8B%E6%AD%A4%E9%95%9C%E5%83%8F%E5%8F%8A%E9%80%9A%E7%94%A8Mods%E5%88%97%E8%A1%A8%E3%80%82
bashdocker exec -it unifi-controller /bin/bash
bashdocker logs -f unifi-controller
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' unifi-controller
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/unifi-controller:latest
更新镜像:
bashdocker-compose pull
bashdocker-compose pull unifi-controller
更新容器:
bashdocker-compose up -d
bashdocker-compose up -d unifi-controller
清理旧镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/unifi-controller:latest
停止运行中的容器:
bashdocker stop unifi-controller
删除容器:
bashdocker rm unifi-controller
使用相同参数重新创建容器(若卷映射正确,/config文件夹及设置将保留)
清理旧镜像:
bashdocker image prune
bashdocker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once unifi-controller
警告:不建议将Watchtower用作现有容器的自动更新解决方案,长期推荐使用Docker Compose。
bashgit clone https://github.com/linuxserver/docker-unifi-controller.git cd docker-unifi-controller docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/unifi-controller:latest .
在x86_64硬件上构建ARM变体需使用multiarch/qemu-user-static:
bashdocker run --rm --privileged multiarch/qemu-user-static:register --reset
然后使用-f Dockerfile.aarch64指定架构Dockerfile。
apt-get install以减小镜像体积LTS标签(Unifi不再发布LTS稳定版),建议切换至latest标签您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务