使用Docker安装CDN独立实例
简介
当前镜像CDN独立实例镜像,包含了管理系统(CloudAdmin)、API节点(CloudAPI)、边缘节点(CloudNode)、用户系统(CloudUser,仅专业版以上才能登录)。
安装
可以使用以下命令安装当前独立实例镜像(代号cloud-instance)和MySQL容器(代号mysql,非root用户请使用sudo执行)
curl https://flex.dd.ci/docker/instance/install.sh | bash
执行命令后会自动安装两个容器:
cloud-instance
- 为cloud-instance容器cloud-mysql
- 为mysql容器
然后使用以下网址访问管理系统:
http://宿主机IP:8000
第一次登录的时候,需要设置管理员密码。
使用以下网址访问默认网站(要求80端口不被别的程序占用):
http://宿主机IP
其他可以访问的服务参考本文的“端口号”部分。
容器信息
网络(networks)
容器IP地址:
172.20.0.2
- MySQL容器IP172.20.0.3
- cloud-instance容器IP
端口号(ports)
8000
- 管理系统端口号8001
- API grpc端口号8002
- API HTTP端口号8100
- 用户系统端口号(只有商业版可以登录)80
- 边缘节点网站端口号443
- 边缘节点HTTPS端口号(默认不启动,需要自己进入管理系统设置)
数据目录(volumes)
默认数据目录在 /usr/local/cloud
,如果你想修改此目录,可以自行修改compose.yaml。
数据目录下的相关目录说明如下:
cache/
- 默认缓存策略设置的缓存目录cloud-admin/
- 管理系统相关数据cloud-api/
- API节点相关数据cloud-node/
- 边缘节点相关数据cloud-user/
- 用户系统相关数据mysql/
- MySQL相关数据
在迁移容器时到新服务器时,你需要将当前数据目录拷贝到新的服务器,然后才能启动容器。
管理容器
查看容器运行状态
docker ps -a
启动和停止
启动容器:
docker start cloud-instance
停止容器:
docker stop cloud-instance
查看日志
docker logs cloud-instance
删除容器
docker stop cloud-instance
docker rm cloud-instance
docker stop cloud-mysql
docker rm cloud-mysql
数据库管理
可以在宿主机上通过以下命令连接数据库:
mysql -uroot -h172.20.0.2 -p
然后输入密码 123456
。
防火墙
在运行 install.sh
时会自动在宿主机下载并安装一个防火墙服务,名称为 cloud-firewall-server
,以便于容器可以通过利用此服务器来封禁IP。
此防火墙可以在 https://github.com/tjbrains/cloud-firewall-server
单独下载,独立启动命令:
cloud-firewall-server -addr=ADDR地址
要想在节点中使用此防火墙服务,需要在compose.yaml中配置 CLOUD_HTTP_FIREWALL_ENDPOINT
,在官网提供的 compose.yaml
中已经加入此变量。
compose.yaml示例
如果你想修改数据库初始密码、数据目录等,可以在 https://flex.dd.ci/docker/instance/compose.yaml 查看compose.yaml示例。
compose.yaml变量说明:
DATA_PREFIX=/usr/local/cloud
- 数据目录NETWORK_PREFIX=172.20.0
- 网络IP前缀DB_NAME=clouds
- 数据库名称DB_PASSWORD=123456
- 数据库密码
可以在和 compose.yaml
同个目录下的 .env
文件中设置这些变量,然后再在此目录下执行:
docker compose up -d