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

相关推荐
小白的码BUG之路2 小时前
Docker -- 构建nacos镜像
运维·docker·容器
天衍四九-6 小时前
【无标题】
前端·spring boot·mysql·nginx·docker
赵谨言6 小时前
红蓝对抗Docker渗透复盘-技能与产出汇总
docker·容器·eureka
众链网络9 小时前
景区票务系统选型的技术尽调清单:从并发、数据到二次开发的 12 个必查项
apache·景区票务系统
I'mChloe9 小时前
Windows部署BiliNote:Docker安装、AI视频转写、Markdown笔记与cpolar远程访问
人工智能·windows·docker
打工仔折腾 AI11 小时前
飞牛OS上用Docker Compose部署ExerciseDiary运动记录并配置远程访问
运维·人工智能·后端·python·docker·容器·ai agent 实战
天衍四九-11 小时前
Docker Compose企业实战系列(八·终章):多环境隔离实战,开发/测试/生产一键切换
运维·docker·容器
shjita12 小时前
centos中安装docker
linux·docker·centos
ysu_031413 小时前
Docker-Desktop-WSL2实战指南-Windows从安装配置到项目容器化
windows·python·docker·容器·composer·dockerfile·wsl2
天衍四九-13 小时前
Docker Compose企业实战系列(三):Vue/React前端项目容器化完整部署
前端·vue.js·docker