该镜像运行基于Apache的可轻松配置的WebDAV服务器。
您可以配置认证类型、多用户认证,或使用自签名SSL证书运行。如果需要Let's Encrypt证书,可参考https://github.com/BytemarkHosting/configs-webdav-docker%E3%80%82
此示例在端口80上启动WebDAV服务器,仅可通过单个用户名和密码访问。
使用未加密的HTTP时,建议使用Digest认证(而非Basic),以避免明文密码传输。
为确保数据不丢失,建议创建持久化存储卷(-v vol-webdav:/var/lib/dav)或绑定挂载目录(-v /path/to/directory:/var/lib/dav):
bashdocker run --restart always -v /srv/dav:/var/lib/dav \ -e AUTH_TYPE=Digest -e USERNAME=alice -e PASSWORD=secret1234 \ --publish 80:80 -d bytemark/webdav
通过Docker Compose部署:
yamlversion: '3' services: webdav: image: bytemark/webdav restart: always ports: - "80:80" environment: AUTH_TYPE: Digest USERNAME: alice PASSWORD: secret1234 volumes: - /srv/dav:/var/lib/dav
建议使用反向代理(如Traefik)处理SSL证书,示例参考https://github.com/BytemarkHosting/configs-webdav-docker%E3%80%82
若接受自签名SSL证书,可指定-e SSL_CERT=selfsigned,容器将自动生成证书:
bashdocker run --restart always -v /srv/dav:/var/lib/dav \ -e AUTH_TYPE=Basic -e USERNAME=test -e PASSWORD=test \ -e SSL_CERT=selfsigned --publish 443:443 -d bytemark/webdav
若需使用自定义证书,可将证书链绑定挂载到/cert.pem,私钥绑定挂载到/privkey.pem,容器将自动使用这些文件。
USERNAME和PASSWORD仅支持单用户。如需多用户登录,可绑定挂载自定义user.passwd文件到/user.passwd。
使用Basic认证:
bashtouch user.passwd htpasswd -B user.passwd alice htpasswd -B user.passwd bob
使用Digest认证:
(注意:默认REALM为WebDAV,若自定义REALM,需使用新名称重新运行htdigest)
bashtouch user.passwd htdigest user.passwd WebDAV alice htdigest user.passwd WebDAV bob
创建完成后,通过-v /path/to/user.passwd:/user.passwd将文件挂载到容器。
所有环境变量均为可选。建议至少指定USERNAME和PASSWORD(或绑定挂载自定义认证文件到/user.passwd),否则无法访问WebDAV服务器。
SERVER_NAMES:逗号分隔的域名列表(如example.com,www.example.com)。第一个域设置为ServerName,其余(如有)设置为ServerAlias。默认值:localhost。LOCATION:WebDAV的URL路径(如设置为/webdav,客户端需连接example.com/webdav)。默认值:/。AUTH_TYPE:Apache认证类型,可选Basic(HTTPS推荐)或Digest(HTTP推荐)。默认值:Basic。REALM:设置AuthName,客户端连接时显示的标识符。默认值:WebDAV。USERNAME:认证用户名(配合下方密码使用)。若绑定挂载自定义认证文件,此变量将被忽略。PASSWORD:认证密码(配合上方用户名使用)。若绑定挂载自定义认证文件,此变量将被忽略。ANONYMOUS_METHODS:逗号分隔的HTTP请求方法列表(如GET,POST,OPTIONS,PROPFIND)。指定的方法无需认证即可使用。设置为ALL可禁用认证。默认值:禁止***访问。SSL_CERT:设置为selfsigned时生成自签名证书并启用Apache SSL模块。若指定SERVER_NAMES,第一个域将作为通用名称(Common Name)。



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