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

相关推荐
程序员老赵11 小时前
Docker 部署 Hue:轻松搭建数据库与数据仓库 SQL 查询平台
sql·docker·开源
betazhou14 小时前
Apache Seatunnel 抽取SQL server实时同步到Oracle-多表同步(五)
数据库·oracle·sqlserver·apache·seatunnel
m0_6174939415 小时前
昇腾 NPU Docker 部署实战:解决 stub library 报错并实现模型正常加载
运维·docker·容器
xixiaoyunya15 小时前
Docker 常用命令与实战:从入门到部署一个简单应用
docker·容器·eureka
吴声子夜歌16 小时前
Docker入门与实战——Docker Swarm模式(跨主机容器集群管理)
docker
pirateeee19 小时前
在ubuntu中通过 docker 搭建 yocto 开发环境
ubuntu·docker·eureka
墨神谕19 小时前
Docker 数据卷(Volume)详解:Dockerfile 声明、Docker Compose 挂载宿主机目录及持久化实战
运维·docker·容器
zh731419 小时前
Docker Desktop docker_data.vhdx 使用时间长了过大,解决办法
运维·docker·容器
墨神谕19 小时前
Docker Compose 从入门到实战:核心概念、YAML 配置详解、常用命令与多容器部署
运维·docker·容器
Tronlong创龙19 小时前
TLT153工控机:Docker 环境部署与容器开发实践(上)
docker·嵌入式开发·硬件开发·工业控制·工业开发板