通过Docker安装WebDAV文件服务器
OrangeThinK 2024年07月18日 •  0

一、WebDAV简介

WebDAV(Web-based Distributed Authoring and Versioning)是一种基于HTTP协议的通信协议,它在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。由于WebDAV基于HTTP协议,因此在广域网上共享文件具有天然的优势。此外,移动端文件管理APP也大多支持WebDAV协议,使得文件共享更加便捷。

二、Docker与WebDAV

Docker是一种开源的应用容器引擎,它使得开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。而WebDAV作为一种文件共享协议,可以运行在Docker容器中,从而实现文件共享的新方式。使用Docker部署WebDAV服务,可以方便地实现文件的集中存储、共享和管理。

首先,我们需要从Docker Hub上下载一个webdav的镜像bytemark/webdav(直接通过命令下载或者portainer拉取)或者使用portainer等docker可视化管理工具的时候直接添加(推荐该方式,但如果需要使用主机目录作为webdav的根目录的话建议使用命令方式)

终端命令(方式一)

  1. 下载

    docker pull bytemark/webdav

  2. 运行

    docker run --restart always -p 80:80 -v /path:/var/lib/dav -e AUTH_TYPE=Digest -e USERNAME=admin -e PASSWORD=admin -d bytemark/webdav

--restart always指的是当容器发生错误时是否需要自行重启,这里选择的是总是自行重启,非重要参数,可省
注意,这里-p是端口号port,第一个80指代主机端口(即我们访问的端口,可根据实际修改),第二个80指代容器端口(保持默认即可)
-v是文件value持久化保存路径,同理,/path指代主机目录或存储卷(貌似作者并没有为我们主动创建一个随机存储卷,你可以根据实际需求设定真实文件存放路径),/var/lib/dav指代容器目录(一般是开发者要求路径,但在这好像没有作要求,默认即可)
-e是容器环境设定,AUTH_TYPE认证模式(作者设置的值为Digest,一般情况下默认即可,如果是威联通的HBS3可能需要自行修改为Basic方式) USERNAME用户名和PASSWORD密码可根据自己实际需要进行设定

portainer安装(方式二)

  1. 创建存储卷

首先需要提前创建存储卷用于持久化保存,或者如果你需要主机目录作为持久化保存的话这一步可以省略
%7B472C7680-080D-46a4-962B-BA173731D436%7D.png

  1. 创建容器

    QQ截图20240718155829.png
    创建容器之后进入容器详情进行编辑
    %7B47C6CD8F-268A-4aa4-8183-422327068CE9%7D.png

QQ截图20240718160016.png
QQ截图20240718160100.png
QQ截图20240718160642.png

AUTH_TYPE Digest
USERNAME admin
PASSWORD admin
(草稿)阿里云服务器快速迁移 打赏
请作者吃个鸡腿!
(草稿)问?24:25

该页面评论已关闭