📅  最后修改于: 2023-12-03 14:48:11.003000             🧑  作者: Mango
如果你运营着多个 UniFi 网络,那么使用 UniFi 控制器来统一管理它们是一个不错的选择。Docker 软件容器技术提供了强大的工具来方便地部署 UniFi 控制器,无论是在本地主机还是云环境中。
在本文中,我们将介绍如何使用 Docker 部署 UniFi 控制器,并说明如何在本地主机和云环境中安装并运行它。
在开始使用 Docker 部署 UniFi 控制器之前,你需要做好以下准备工作:
安装 Docker
在本地主机和云环境中安装 Docker。关于如何安装 Docker,可以参考 Docker 官方文档。
创建 Docker 网络
UniFi 控制器使用的一些端口必须在容器和主机之间进行转发,因此我们需要创建一个 Docker 网络来管理它们。在命令行中运行以下命令:
$ docker network create unifi
这将创建一个名为 unifi
的 Docker 网络。
在本地主机中安装 UniFi 控制器非常简单。只需在终端中运行以下命令,即可下载 Docker 镜像并运行容器:
$ docker run -d \
--name unifi \
--restart always \
--network unifi \
-p 3478:3478/udp \
-p 10001:10001/udp \
-p 8080:8080 \
-p 8443:8443 \
-p 8880:8880 \
-p 8843:8843 \
-v unifi_data:/unifi/data \
-v unifi_log:/unifi/log \
-v unifi_run:/unifi/run \
jacobalberty/unifi:latest
这将下载最新版本的 UniFi 控制器镜像,并在新容器中运行它。这条命令还将启用一系列映射的端口,将容器内的数据卷映射到主机上,并将容器添加到 Docker 网络中。
现在,你可以访问 UniFi 控制器的网络管理界面了。只需在 Web 浏览器中访问 http://localhost:8443/
即可(或者直接访问 https://localhost:8443/
,但需要接受一个安全证书)。登录时,请使用默认的用户名和密码:ubnt
。
与在本地主机中安装 UniFi 控制器相比,使用 Docker 在云环境中安装它需要进行一些调整。
首先,你需要创建一个云环境,并确保安全组配置允许从外部访问所需的端口。需要打开的端口包括 8080
、8443
、3478/udp
、10001/udp
、8880
和 8843
。
然后,我们需要将 SSL 证书导入容器中。如果你已经 have 证书文件,请将它们命名为 cert.crt
和 key.crt
,然后将它们存储在主机上的 ~/unifi-certs
目录中。
最后,在云环境中运行以下命令来安装 UniFi 控制器:
$ docker run -d \
--name unifi \
--restart always \
--network unifi \
-p 3478:3478/udp \
-p 10001:10001/udp \
-p 8080:8080 \
-p 8443:8443 \
-p 8880:8880 \
-p 8843:8843 \
-v ~/unifi-certs:/usr/lib/unifi/data/cert \
-v unifi_data:/unifi/data \
-v unifi_log:/unifi/log \
-v unifi_run:/unifi/run \
jacobalberty/unifi:latest
与本地安装相比,唯一的变化是加入了一个新的 -v
标志来映射证书到容器中。
现在您可以访问 UniFi 控制器,方法与本地安装相同。只需在 Web 浏览器中访问 https://your.server.ip:8443/
,其中 your.server.ip
是您服务器的公共IP地址。
在本文中,我们学习了如何使用 Docker 部署 UniFi 控制器,可以在本地主机和云环境中运行它。通过使用 Docker 的工具,管理多个 UniFi 网络变得更加容易和高效。