本文最后更新于 2020年08月13日
前言
之所以使用Docker来搭建WebDAV,是因为我所使用的是Centos,yum安装的Nginx是没有webdav模块的,需要自己编译,于是乎便使用Docker搭建了一个WebDAV服务器
教程
我使用的是BytemarkHosting的镜像
https://github.com/BytemarkHosting/docker-webdav
1 2 3 | docker run --name webdav --restart always - v /srv/dav : /var/lib/dav \ -e AUTH_TYPE=Digest -e USERNAME=alice -e PASSWORD=secret1234 \ --publish 80:80 -d bytemark /webdav |
注意宿主机目录不能改,否则会报错,需要挂载目录可以软链接上去
USERNAME和PASSWORD后面自定用户密码
不推荐使用GitHub上的SSL,推荐去掉–publish 80:80,使用Nginx反向代理Https
补充
挂载到容器的目录里的文件是不能被删除的,原因是权限问题
进入容器
1 2 3 4 5 6 | #进入容器 docker exec -it webdav bash #添加定时任务 crontab -e # 5 分钟执行一次赋予www-data用户权限命令 */ 5 * * * * chown -R www-data / var /lib/dav/data |
NGINX部分
NGINX在下载超过1G时会断连,需要修改nginx.conf文件
在http部分添加如下内容(数字改到自己需要的大小,我的是最大10G)
1 | proxy_max_temp_file_size 10240; |