使用 Docker Run 部署 Apache WebDAV 服务

使用 Docker Run 部署 Apache WebDAV 服务

本文介绍如何使用 docker run 命令快速部署 Apache WebDAV 服务,并完成基本配置和访问验证。

一、拉取 WebDAV 镜像

首先从 Docker Hub 拉取 Apache WebDAV 镜像:

bash 复制代码
docker pull apachewebdav/apachewebdav
# x86镜像
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/apachewebdav:latest
# arrch64镜像
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_apachewebdav:latest

二、创建数据目录

在宿主机上创建用于存储 WebDAV 数据的目录,并设置权限:

bash 复制代码
mkdir -p /data/webdav/dav /data/webdav/data
chmod 777 /data/webdav

说明

  • /data/webdav/dav:用于存放 WebDAV 服务的主数据
  • /data/webdav/data:作为 dav 的子目录,可用于存放实际文件
  • 生产环境建议根据实际安全需求调整目录权限

三、使用 Docker Run 启动容器

执行以下 docker run 命令启动 WebDAV 容器:

bash 复制代码
docker run -d \
  --name webdav \
  --restart always \
  -p 8080:80 \
  -e AUTH_TYPE=Digest \
  -e USERNAME=alice \
  -e PASSWORD=admin@168 \
  -v /data/webdav/dav:/var/lib/dav \
  -v /data/webdav/data:/var/lib/dav/data \
  registry.cn-hangzhou.aliyuncs.com/qiluo-images/apachewebdav:latest

参数说明

  • -d:后台运行容器
  • --name webdav:指定容器名称为 webdav
  • --restart always:设置容器始终自动重启
  • -p 8080:80:将宿主机的 8080 端口映射到容器的 80 端口
  • -e:设置环境变量,用于配置认证类型、用户名和密码
  • -v:挂载数据卷,将宿主机目录映射到容器内

四、验证容器运行状态

启动后,查看容器是否正常运行:

bash 复制代码
docker ps | grep webdav

或使用:

bash 复制代码
docker ps -a --filter name=webdav

五、查看容器日志

通过以下命令查看 WebDAV 服务的运行日志:

bash 复制代码
docker logs -f webdav

日志中若显示类似 Apache/2.4.x (Unix) Server started 的信息,说明服务已成功启动。

六、访问 WebDAV 服务

在浏览器中输入以下地址进行访问:

复制代码
http://192.168.x.x:8080

注意 :请将 192.168.x.x 替换为实际服务器的 IP 地址。

登录信息

  • 用户名:alice
  • 密码:admin@168

浏览器会弹出认证窗口,输入上述账号密码即可访问 WebDAV 共享目录。

七、常用管理命令

停止容器

bash 复制代码
docker stop webdav

启动容器

bash 复制代码
docker start webdav

重启容器

bash 复制代码
docker restart webdav

删除容器(需先停止)

bash 复制代码
docker rm webdav

查看实时日志

bash 复制代码
docker logs -f webdav

八、注意事项

  1. 安全性

    • 默认使用 Digest 认证,比 Basic 认证更安全
    • 生产环境建议修改默认用户名和密码
    • 如需 HTTPS 访问,建议在前端加 Nginx 反向代理并配置 SSL 证书
  2. 端口冲突

    • 确保宿主机的 8080 端口未被占用,如需修改,调整 -p 参数的左侧端口即可
  3. 数据持久化

    • 数据已通过卷挂载持久化到宿主机 /data/webdav 目录,删除容器不会丢失数据
  4. 防火墙设置

    • 若宿主机开启了防火墙,需放行 8080 端口:

      bash 复制代码
      firewall-cmd --add-port=8080/tcp --permanent
      firewall-cmd --reload

通过以上步骤,您已成功使用 docker run 命令部署了一个支持 Digest 认证的 Apache WebDAV 服务,可以用于文件共享、备份存储等场景。

相关推荐
吕海洋9 小时前
目前可用的docker源2026.08
运维·docker·容器
gsls20080811 小时前
Penpot Docker 部署与 MCP 服务配置文档
运维·docker·容器·原型·penpot
xrlfreedom12 小时前
大厂 MCP 面试实录:本地 Server 远程化改造中的技术选型与落地实践
docker·json schema·mcp
极客灵风14 小时前
免费约课小程序免费约课系统的区别,一文看懂怎么选
apache
xixiaoyunya15 小时前
中小微企业轻量组网方案的技术选型与实践:从传统专线到软定义隧道的成本与效能分析
服务器·php·apache
艾伦_耶格宇16 小时前
【DOCKER容器实战】-2MySQL
运维·docker·容器
SelectDB技术团队17 小时前
四川航空湖仓一体:基于 SelectDB / Apache Doris 的多源数据联邦分析实践
apache
禅口魔心17 小时前
RK3576开发——Docker部署
docker·嵌入式linux
海兰18 小时前
【Kafka进阶4】KRaft 完全指南:Apache Kafka 摆脱 ZooKeeper 的架构
zookeeper·kafka·apache
随便做点啥18 小时前
32卡×4090 24GB,Qwen3.8-27B-FP8 集群部署报告
服务器·经验分享·docker·vllm