FlexCDN singleton instance.
2.9K
当前镜像FlexCDN独立实例镜像,包含了管理系统(CloudAdmin)、API节点(CloudAPI)、边缘节点(CloudNode)、用户系统(CloudUser,仅专业版以上才能登录)。
可以使用以下命令安装当前独立实例镜像(代号cloud-instance)和MySQL容器(代号mysql)
curl https://flexcdn.cn/docker/instance/install.sh | bash
执行命令后会自动安装两个容器:
cloud-instance - 为cloud-instance容器cloud-mysql - 为mysql容器然后使用以下网址访问管理系统:
http://宿主机IP:8000
第一次登录的时候,需要设置管理员密码。
使用以下网址访问默认网站(要求80端口不被别的程序占用):
http://宿主机IP
其他可以访问的服务参考本文的“端口号”部分。
容器IP地址:
172.20.0.2 - MySQL容器IP172.20.0.3 - cloud-instance容器IP8000 - 管理系统端口号8001 - API grpc端口号8002 - API HTTP端口号8100 - 用户系统端口号(只有商业版可以登录)80 - 边缘节点网站端口号443 - 边缘节点HTTPS端口号(默认不启动,需要自己进入管理系统设置)默认数据目录在 /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 中已经加入此变量。
如果你想修改数据库初始密码、数据目录等,可以在 https://flexcdn.cn/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
如果脚本在运行 docker compose 时有无法连接、超时等网络异常现象,可以使用代理服务,以下步骤仅供参考(此解决方案参考了 https://stackoverflow.com/questions/69047394/cant-pull-docker-image-behind-a-proxy ):
在当前宿主机创建一个目录 /etc/systemd/system/docker.service.d:
mkdir -p /etc/systemd/system/docker.service.d
创建文件 /etc/systemd/system/docker.service.d/http-proxy.conf 并写入以下内容:
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80"
Environment="HTTPS_PROXY=https://proxy.example.com:443"
Environment="NO_PROXY=localhost,127.0.0.1,.local"
其中 proxy.example.com:端口 需要换成你自己的代理服务的地址(IP或域名)和端口。
systemctl daemon-reload
systemctl restart docker
可以使用 docker info 命令来检查代理设置是否生效:
$ docker info | grep Proxy
HTTP Proxy: http://proxy.example.com:80
HTTPS Proxy: https://proxy.example.com:443
...
如果输入的内容正确,则可以重新运行安装命令了。
对于 v1.0.9 以前版本的单例容器在调用HTTPS服务时可能产生 failed to verify certificate: x509: certificate signed by unknown authority 类似的证书问题,可以通过以下方式解决:
在宿主机上依次执行以下命令:
# 进入docker bash
docker exec -it cloud-instance bash
# 在docker bash下执行以下命令
# 安装CA证书
apt-get install --reinstall ca-certificates
# 重启cloud-api
cloud-api restart
Content type
Image
Digest
sha256:0fc031510…
Size
417 MB
Last updated
26 days ago
docker pull flexcdn/cloud-instance