使用 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 服务,可以用于文件共享、备份存储等场景。

相关推荐
Flying pigs~~12 分钟前
企业级模块化RAG项目(mysql➕redis➕milvus➕模型微调➕bm25➕fastapi➕ollama➕Prompt➕多策略选择)
人工智能·redis·mysql·docker·prompt·milvus·rag
木雷坞24 分钟前
【2026年最新实测】NAS Docker镜像拉取性能优化方案:从3小时到3分钟的技术实战
docker·容器·性能优化
Drache_long31 分钟前
Docker(一)
运维·docker·容器
架构源启37 分钟前
深度解析:Spring Boot + Apache OpenNLP 构建企业级 NLU 系统
spring boot·后端·apache
jinanwuhuaguo39 分钟前
Ollama 全方位深度剖析:大模型时代的“Docker化”革命、算力普惠基础设施与安全边界重构
运维·开发语言·人工智能·深度学习·安全·docker·重构
战斗强40 分钟前
从零搭建内网文件共享平台:WebDAV + AList + OnlyOffice 完整部署指南
后端·onlyoffice·文件共享·alist·webdav
鼎道开发者联盟1 小时前
OpenClaw在K8s Pod中稳定运行的Docker制作指南(源码版)
docker·k8s·openclaw
SeaTunnel2 小时前
深度解析 Apache SeaTunnel 核心引擎三大技术创新:高可靠异步持久化与 CDC 架构优化实战
大数据·数据库·架构·apache·seatunnel
DolphinScheduler社区3 小时前
第 8 篇|Apache DolphinScheduler 与 Flink Spark 数据引擎的边界、协同与最佳实践
大数据·flink·spark·开源·apache·海豚调度·大数据工作流调度
冷色系里的一抹暖调11 小时前
OpenClaw Docker部署避坑指南:服务启动成功但网页打不开?
人工智能·docker·容器·openclaw