
tcousin/cloudflare-ddns本Docker镜像提供Cloudflare动态DNS(DDNS)解决方案,通过定期检测本地公网IP地址变化,自动调用Cloudflare API更新指定域名的DNS记录(A/AAAA),适用于无固定公网IP环境下的域名解析管理,确保外部访问始终指向当前有效IP。
bashdocker run -d \ --name cloudflare-ddns \ --restart unless-stopped \ -e CF_API_TOKEN="your_cloudflare_api_token" \ -e CF_ZONE_ID="your_cloudflare_zone_id" \ -e CF_RECORD_NAME="example.com,sub.example.com" \ -e CF_RECORD_TYPE="A" \ -e UPDATE_INTERVAL="300" \ cloudflare-ddns
yamlversion: '3' services: cloudflare-ddns: image: cloudflare-ddns container_name: cloudflare-ddns restart: unless-stopped environment: - CF_API_TOKEN=your_cloudflare_api_token - CF_ZONE_ID=your_cloudflare_zone_id - CF_RECORD_NAME=example.com,sub.example.com # 多个记录用逗号分隔 - CF_RECORD_TYPE=A # A(IPv4)或AAAA(IPv6) - UPDATE_INTERVAL=300 # 更新间隔(秒),默认300 - IP_DETECT_URL=[***] # 自定义IP检测接口(可选) - LOG_LEVEL=info # 日志级别:debug/info/warn/error(可选,默认info)
| 环境变量 | 描述 | 必填 | 默认值 | 示例 |
|---|---|---|---|---|
| CF_API_TOKEN | Cloudflare API令牌,需具备Zone.DNS编辑权限 | 是 | - | d8a7b6c5d4e3f2a1b0c9d8e7f6a5b4c3 |
| CF_ZONE_ID | 域名所在的Cloudflare Zone ID | 是 | - | a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 |
| CF_RECORD_NAME | 需更新的DNS记录名称,多个记录用逗号分隔 | 是 | - | example.com,[***] |
| CF_RECORD_TYPE | DNS记录类型 | 否 | A | A(IPv4)或AAAA(IPv6) |
| UPDATE_INTERVAL | IP检测及更新间隔(秒) | 否 | 300 | 60(1分钟)、3600(1小时) |
| IP_DETECT_URL | 自定义公网IP检测接口(返回纯文本IP) | 否 | [***] | [***] |
| LOG_LEVEL | 日志输出级别 | 否 | info | debug(详细调试日志) |
| TTL | DNS记录的TTL值(秒) | 否 | 300 | 60(最低60秒,Cloudflare免费版最低120) |
| PROXY | 是否启用Cloudflare代理(orange cloud) | 否 | true | true或false |
注意:CF_API_TOKEN需通过Cloudflare控制台创建,路径:个人资料 > API令牌 > 创建令牌 > 选择"编辑DNS"模板,指定目标Zone权限。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务