转自我的博客:sleele.com/2019/04/25/…

前言

之所以使用Docker来搭建WebDAV,是因为我所使用的是Centos,yum安装的Nginx是没有webdav模块的,需要自己编译,于是乎便使用Docker搭建了一个WebDAV服务器

教程

我使用的是BytemarkHosting的镜像

github.com/BytemarkHos…

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

补充

挂载到容器的目录里的文件是不能被删除的,原因是权限问题

进入容器

#进入容器
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;
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐