开启WebDAV 文件共享服务
2026/4/21大约 1 分钟
开启WebDAV 文件共享服务
该示例使用 Gvisor 用户空间网络模式开启 WebDAV 文件共享服务,将宿主机 ./share/ 目录挂载到容器内 /data/docs。启动前请先创建 share 目录。
使用前请先在同目录准备 .env 文件,并填写飞网控制面板创建的授权密钥:
GM_TOKEN=gmzta-authkey-xxxxGvisor 模式启动:
docker compose -f 03-gvisor-webdav.yaml up -dTUN 模式启动:
docker compose -f 03-tun-webdav.yaml up -d注意:
/data/docs必须是容器内存在的目录。- 飞网控制面板的访问控制策略中,需要给该设备开启 “WebDAV 文件共享”功能的权限。
- 飞网控制面板的访问控制策略中,需要给访问 WebDAV 服务的端设备开启 “WebDAV 文件访问”功能的权限。
验证:
- 使用支持 WebDAV 协议的工具挂载访问上述共享,访问路径为
http://100.100.100.100:8080/<网络名>/<飞网设备名>/<共享名>。 - Linux 可使用
sudo mount -t davfs http://100.100.100.100:8080 /mount/mywebdav。 - Windows 可通过“映射网络驱动器”或“添加网络位置”访问,也可使用
net use Z: http://100.100.100.100:8080。
Gvisor 模式配置文件:
version: "3.7"
services:
# 容器对外提供服务(如 Funnel/Serve/webdav),用户空间模式通常可以工作,因为这些功能主要依赖飞网自身的代理能力,而非内核路由。
gmzta-gvisor-webdav:
image: registry.cn-beijing.aliyuncs.com/gmzta/gmzta:latest
container_name: gmzta-gvisor-webdav
hostname: gmzta-gvisor-webdav
environment:
- GM_TOKEN=${GM_TOKEN}
- GM_CONFIG_DIR=/var/lib/gmzta
- GM_TUN=false
- GM_WEBDAV=share docs /data/docs
volumes:
- ${PWD}/gmzta/state:/var/lib/gmzta
- ${PWD}/share/:/data/docs # 挂载共享目录 为方便测试,请创建此目录并在目录下创建一个 test.txt 文件,内容随意
restart: on-failure:3TUN 模式配置文件:
version: "3.7"
services:
gmzta-tun-webdav:
image: registry.cn-beijing.aliyuncs.com/gmzta/gmzta:latest
container_name: gmzta-tun-webdav
hostname: gmzta-tun-webdav
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_WEBDAV=share docs /data/docs
volumes:
- ./gmzta/tun-webdav:/var/lib/gmzta
- ./share:/data/docs
restart: on-failure:3