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

相关推荐
大厂数码评测员1 小时前
免费菜谱管理小程序怎么做才顺手:从情侣、个人、家庭三类场景拆需求和实现
服务器·小程序·apache
高旭的旭2 小时前
GitLab Omnibus Docker 内存优化实战:从 4.7 GiB 降到 3.2 GiB
docker·容器·gitlab
我是Superman丶10 小时前
Docker 命令自用
运维·docker·容器
ai产品老杨11 小时前
深度解析:基于 Docker 与 GB28181 的企业级 AI 视频管理平台——实现 X86/ARM 异构计算与全场景边缘计算架构
人工智能·docker·音视频
Slow菜鸟11 小时前
Docker 学习篇(七)| 实战 — 用 Docker 构建 SpringBoot + Vue 全栈项目
spring boot·学习·docker
树下水月12 小时前
docker 常用命令
docker·容器·eureka
好奇的菜鸟13 小时前
Java开发常用中间件,Docker安装。
java·docker·中间件
四方云14 小时前
MySQL 迁移到 Apache Doris 生产实践:从评估到落地的完整指南
数据库·mysql·apache
小羊Yveesss14 小时前
2026年商城小程序开发属于什么费用?
apache
=蜗牛=14 小时前
Docker 简单部署 ClickHouse 超详细图文步骤
clickhouse·docker·容器·部署·图文