开启高可用服务
2026/4/21大约 1 分钟
开启高可用服务
该示例使用 Gvisor 用户空间网络模式开启高可用服务,通过 GM_SERVICE 将后端 Nginx 发布到飞网高可用服务。飞网控制面板需要先创建高可用服务,例如 oa,并批准该容器节点加入服务。
使用前请先在同目录准备 .env 文件,并填写飞网控制面板创建的授权密钥:
GM_TOKEN=gmzta-authkey-xxxxGvisor 模式启动:
docker compose -f 05-gvisor-service.yaml up -dTUN 模式启动:
docker compose -f 05-tun-service.yaml up -d注意:
- 需要在飞网控制面板“服务高可用”中新建服务,例如
oa,设置服务端口,例如6443,容器启动与创建高可用服务不限制先后顺序。 - 需要在飞网控制面板批准该容器节点加入高可用服务,或者配置自动批准。
- 飞网控制面板的访问控制策略中,配置访问控制策略,允许用户访问该高可用服务。
验证:
- 使用飞网控制面板“服务清单”-“服务发布”中创建的该高可用服务域名,访问该高可用服务。
- 示例访问地址为
https://oa.<tuandui>.gmzta.net,需根据实际高可用服务域名访问。
Gvisor 模式配置文件:
version: "3.7"
services:
# # 容器对外提供服务(如 in/service/webdav),用户空间模式通常可以工作,因为这些功能主要依赖飞网自身的代理能力,而非内核路由。
gmzta-gvisor-service:
image: registry.cn-beijing.aliyuncs.com/gmzta/gmzta:latest
container_name: gmzta-gvisor-service
hostname: gmzta-gvisor-service
environment:
- GM_TOKEN=${GM_TOKEN}
- GM_CONFIG_DIR=/var/lib/gmzta
- GM_TUN=false
- GM_SERVICE=--ha=oa --https=6443 http://172.31.0.200:80
volumes:
- ./gmzta/state:/var/lib/gmzta
restart: on-failure:3
networks:
gmzta-gvisor-service:
ipv4_address: 172.31.0.100 # 主节点分配固定IP地址
nginx-gvisor-service:
image: nginx
container_name: nginx-gvisor-service
hostname: nginx-gvisor-service
restart: on-failure:3
networks:
gmzta-gvisor-service:
ipv4_address: 172.31.0.200 # 子网节点分配固定IP地址
networks: # 定义自定义网络
gmzta-gvisor-service:
name: gmzta-gvisor-service
driver: bridge
ipam:
config:
- subnet: 172.31.0.0/24
gateway: 172.31.0.1TUN 模式配置文件:
version: "3.7"
services:
gmzta-tun-service:
image: registry.cn-beijing.aliyuncs.com/gmzta/gmzta:latest
container_name: gmzta-tun-service
hostname: gmzta-tun-service
network_mode: host
cap_add:
- NET_ADMIN
- NET_RAW
devices:
- /dev/net/tun:/dev/net/tun
environment:
- GM_TOKEN=${GM_TOKEN}
- GM_CONFIG_DIR=/var/lib/gmzta
- GM_TUN=true
- GM_SERVICE=--ha=oa --https=6443 http://127.0.0.1:8081
volumes:
- ./gmzta/tun-service:/var/lib/gmzta
restart: on-failure:3
nginx-tun-service:
image: nginx
container_name: nginx-tun-service
hostname: nginx-tun-service
ports:
- "127.0.0.1:8081:80"
restart: on-failure:3