前言
之所以使用Docker来搭建WebDAV,是因为我所使用的是Centos,yum安装的Nginx是没有webdav模块的,需要自己编译,于是乎便使用Docker搭建了一个WebDAV服务器
教程
我使用的是BytemarkHosting
的镜像
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后面自定用户密码
若不想设置密码
docker run --name webdav --restart always -v /srv/dav:/var/lib/dav -e ANONYMOUS_METHODS=GET,OPTIONS,PROPFIND --publish 5001:80 -d bytemark/webdav
不推荐使用GitHub上的SSL,推荐去掉–publish 80:80,使用Nginx反向代理Https
补充
挂载到容器的目录里的文件是不能被删除的,原因是权限问题
进入容器
#进入容器
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)
proxy_max_temp_file_size 10240;