最近在用学校机房中的服务器搭建一个文件共享服务,前期使用了宝塔面板一键搭建了 FTP 服务器,使用一切正常。但是最近在使用其观看存储的视频文件时播放体验并不友好,决定更换共享服务。
samba 可能由于端口等问题一直未能成功连接,且搭建过程较为复杂。
DLNA 使用 minidlna 的搭建异常方便,但是在安卓手机上的 nplayer 和 vlc 不能通过 zerotier 搭建的虚拟局域网搜索到 DLNA 服务。
NFS 由于未知原因也未能在 zerotier 搭建的虚拟局域网中连接。
在综合了各种共享方式后最终选择了使用 WebDav 来共享文件。由于其他教程写的有些许问题,因此将搭建过程写下来方便以后使用。
拉取bytemark/webdav镜像
docker pull bytemark/webdav
运行镜像
sudo docker run --name webdav --restart always -v /共享文件夹:/var/lib/dav/data -e AUTH_TYPE=Digest -e USERNAME=用户名 -e PASSWORD=密码 --publish 端口:80 -d bytemark/webdav
补充:使用Docker搭建WebDAV服务
之所以使用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后面自定用户密码
若不想设置密码
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