
本镜像基于官方最新httpd镜像构建,提供WebDav服务。旨在创建简单、一致、可定制且便捷的文件共享解决方案,支持多种架构,适用于个人或团队的文件存储与共享需求。
| 架构 | 标签 |
|---|---|
| x86-64 | amd64, latest |
| armhf | arm32v7, latest |
| arm64 | arm64v8, latest |
bashdocker run -e APP_USER_NAME=admin -e APP_USER_PASSWD=admin -e APP_UID=1000 -e APP_GID=1000 -p 80:80 -p 443:443 -v /webdav/data:/var/webdav/data chonjay21/webdav
bashdocker run \ -e APP_USER_NAME=admin \ -e APP_USER_PASSWD=admin \ -e APP_UID=1000 \ -e APP_GID=1000 \ -e APP_UMASK=007 `#可选` \ -e TZ=America/Los_Angeles `#可选` \ -e USE_SSL=true `#可选` \ -e FORCE_REINIT_CONFIG=false `#可选` \ -e SERVER_NAME=WebDav.example.org `#可选` \ -e DIGEST_AUTH_REALM=WebDav `#可选` \ -e URL_PREFIX=/webdav `#可选` \ -p 80:80 \ -p 443:443 \ -v /webdav/data:/var/webdav/data \ -v /webdav/config:/webdav/config `#可选,用于持久化数据` \ -v /webdav/server.key:/usr/local/apache2/conf/server.key:ro `#可选,用于自定义SSL证书` \ -v /webdav/server.crt:/usr/local/apache2/conf/server.crt:ro `#可选,用于自定义SSL证书` \ chonjay21/webdav
兼容docker-compose v2和v3架构:
yamlversion: '2.2' services: webdav: container_name: webdav image: "chonjay21/webdav:latest" ports: - 80:80 - 443:443 environment: - APP_USER_NAME=admin - APP_USER_PASSWD=admin - APP_UID=1000 - APP_GID=1000 - APP_UMASK=007 #可选 - TZ=America/Los_Angeles #可选 - USE_SSL=true #可选 - FORCE_REINIT_CONFIG=false #可选 - SERVER_NAME=WebDav.example.org #可选 - DIGEST_AUTH_REALM=WebDav #可选 - URL_PREFIX=/webdav #可选 volumes: - /webdav/data:/var/webdav/data - /webdav/config:/webdav/config #可选 - /webdav/server.key:/usr/local/apache2/conf/server.key:ro #可选 - /webdav/server.crt:/usr/local/apache2/conf/server.crt:ro #可选
| 参数 | 功能 | 可选 |
|---|---|---|
-p 80 | HTTP端口映射 | 否 |
-p 443 | HTTPS端口映射 | 否 |
-e APP_USER_NAME=admin | 登录用户名(Basic Auth) | 否 |
-e APP_USER_PASSWD=admin | 登录密码(Basic Auth) | 否 |
-e APP_UID=1000 | 文件系统权限(用户ID) | 否 |
-e APP_GID=1000 | 文件系统权限(组ID) | 否 |
-e APP_UMASK=007 | 文件系统权限掩码(默认007) | 是 |
-e TZ=America/Los_Angeles | 时区设置 | 是 |
-e USE_SSL=true | 启用SSL加密(HTTPS),使用自动生成的自签名证书 | 是 |
-e FORCE_REINIT_CONFIG=false | 若为true,每次启动都重新初始化配置(如用户名等) | 是 |
-e SERVER_NAME=WebDav.example.org | Apache服务器名称 | 是 |
-e DIGEST_AUTH_REALM=WebDav | 使用Digest认证(默认使用Basic认证) | 是 |
-e URL_PREFIX=/webdav | 反向代理场景下的URL前缀 | 是 |
-v /var/webdav/data | 容器数据存储目录 | 否 |
-v /webdav/config | 配置持久化目录 | 是 |
-v /usr/local/apache2/conf/server.key | 自定义SSL私钥 | 是 |
-v /usr/local/apache2/conf/server.crt | 自定义SSL证书 | 是 |
本镜像支持自定义事件脚本,用于实现初始化和运行时的定制逻辑:
| 脚本路径 | 功能 |
|---|---|
/sources/webdav/eventscripts/on_pre_init.sh | 容器首次初始化前执行 |
/sources/webdav/eventscripts/on_post_init.sh | 容器首次初始化后执行 |
/sources/webdav/eventscripts/on_run.sh | 每次启动应用前执行 |
1. 卷挂载覆盖
bashdocker run \ ... -v /webdav/on_pre_init.sh:/sources/webdav/eventscripts/on_pre_init.sh \ ... chonjay21/webdav
2. Dockerfile覆盖
dockerfileFROM chonjay21/webdav:latest ADD host/on_pre_init.sh /sources/webdav/eventscripts/
bash#!/usr/bin/env bash set -e # 从密钥存储获取密码(示例) APP_USER_PASSWD=$(curl -s https://secret-store.example.com/password)
若需将httpd日志输出到文件(如用于fail2ban等),可使用以下命令重定向日志:
bash# 追加日志到access.log docker logs --timestamps -f webdav >> access.log 2>&1 & # 使用tee命令同时输出到终端和文件 docker logs --timestamps -f webdav | tee -a access.log &
本镜像的许可证信息请查看https://github.com/chonjay21/docker-webdav/blob/master/LICENSE%E3%80%82
与所有Docker镜像一样,本镜像可能包含其他软件,这些软件可能具有各自的许可证(如基础发行版中的Bash等,以及主要软件的直接或间接依赖)。
使用预构建镜像时,用户有责任确保对本镜像的任何使用都符合其中包含的所有软件的相关许可证。
官方httpd镜像的许可证信息请查看Apache许可证。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务