
kjake/dehydrated-cloudflare-cron该镜像运行dehydrated-io/dehydrated与walcony/letsencrypt-cloudflare-hook作为cron任务,通过DNS-01挑战使用Cloudflare作为DNS提供商,自动获取和更新Let's Encrypt证书。基于kmlucy/docker-dehydrated构建。
| 环境变量 | 说明 | 必要性 |
|---|---|---|
CF_EMAIL | Cloudflare账户***(需具有DNS管理权限) | 必需 |
CF_KEY | Cloudflare API密钥(需启用DNS编辑权限) | 必需 |
CF_HOST | 单域名模式下的主域名及备用域名,格式:主域名 -d 备用域名1 -d 备用域名2 | 单域名模式必需,多域名模式需设为空 |
| 容器内路径 | 说明 | 权限要求 |
|---|---|---|
/dehydrated/certs | 存储生成的证书文件(私钥、证书链等) | 读写(rw) |
/dehydrated/domains.txt | 多域名模式下的域名配置文件(格式参考domains.txt文档) | 只读(ro) |
适用于生成包含单个主域名及多个备用域名的证书,无需手动创建domains.txt。
部署命令示例:
bashdocker create \ --name=dehydrated \ -e 'CF_EMAIL=***' \ # 替换为Cloudflare账户*** -e 'CF_KEY=your_cloudflare_api_key' \ # 替换为Cloudflare API密钥 -e 'CF_HOST=host.domain.tld -d host2.domain.tld -d host3.domain.tld' \ # 主域名及备用域名 -v /path/to/local/certs:/dehydrated/certs \ # 本地存储证书的路径 kjake/dehydrated-cloudflare-cron
适用于管理多个独立域名证书,需提供domains.txt配置文件。此时必须将CF_HOST环境变量留空或不设置。
domains.txt格式示例(每行一个主域名,后续为空格分隔的备用域名):
example.com [***] mail.example.com blog.example.net
部署命令示例:
bashdocker create \ --name=dehydrated \ -e 'CF_EMAIL=***' \ # 替换为Cloudflare账户*** -e 'CF_KEY=your_cloudflare_api_key' \ # 替换为Cloudflare API密钥 -v /path/to/local/domains.txt:/dehydrated/domains.txt:ro \ # 本地domains.txt路径(只读) -v /path/to/local/certs:/dehydrated/certs \ # 本地存储证书的路径 kjake/dehydrated-cloudflare-cron
创建容器后,启动容器以开始运行证书管理任务:
bashdocker start dehydrated
容器启动后将立即执行一次证书更新,并之后每日自动运行一次更新脚本。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务