本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

自动更新 DNS 解析到本机 IP 地址,支持 IPv4 和 IPv6,本地(内网)IP 和公网 IP。
和公网IP,兼容多种DNS服务商,包括dnspod、阿里DNS、CloudFlare、华为云、DNSCOM等。该镜像设计用于在家庭网络、小型服务器或任何需要动态IP地址管理的场景中,保持域名解析与当前IP地址同步。
DDNS镜像版本(Docker Tag):
latest: 最新稳定版(默认)next: 下一个测试版本edge: 最新开发版,不稳定(master分支)# 拉取最新稳定版 docker pull newfuture/ddns:latest # 或直接使用 docker pull newfuture/ddns
指定特定版本:
docker pull newfuture/ddns:v4.0.0
镜像会同步发布到以下源:
docker.io/newfuture/ddnsghcr.io/newfuture/ddns使用GitHub源:
docker pull ghcr.io/newfuture/ddns
DDNS Docker镜像支持三种配置方式:命令行、环境变量和配置文件。
当设置命令行参数时,容器将直接运行DDNS程序,不会启用定时任务。适合一次性运行或调试。
# 查看帮助 docker run --rm newfuture/ddns -h # 基本使用示例 docker run --rm -v /local/config/:/ddns/ --network=host newfuture/ddns \ --dns=dnspod \ --id=12345 \ --token=mytokenkey \ --ipv4=[***] \ --ipv4=ipv4.example.com \ --index4 public \ --index4 0 # 启用调试模式 docker run --rm -v /local/config/:/ddns/ --network=host newfuture/ddns \ --dns=dnspod \ --id=12345 \ --token=mytokenkey \ --ipv4=[***] \ --debug
环境变量需加上DDNS前缀,推荐全大写。数组类型需要使用JSON格式或者单引号包裹。
docker run -d \ -e DDNS_DNS=dnspod \ -e DDNS_ID=12345 \ -e DDNS_TOKEN=mytokenkey \ -e DDNS_IPV4=example.com,[***] \ -e DDNS_INDEX4=['public',0] \ --network host \ --name ddns \ newfuture/ddns
使用环境变量文件:
docker run -d --env-file .env --network host --name ddns newfuture/ddns
支持的主要环境变量:
| 环境变量 | 描述 | 示例 |
|---|---|---|
| DDNS_DNS | DNS服务商 | dnspod |
| DDNS_ID | API访问ID | 12345 |
| DDNS_TOKEN | API访问令牌 | mytokenkey |
| DDNS_IPV4 | IPv4域名列表 | example.com,[***] |
| DDNS_IPV6 | IPv6域名列表 | ipv6.example.com |
| DDNS_INDEX4 | IPv4地址获取方式 | ['public',0] |
| DDNS_INDEX6 | IPv6地址获取方式 | ['public',0] |
| DDNS_LOG_LEVEL | 日志级别 | WARNING |
| DDNS_PROXY | HTTP代理 | [***] |
Docker容器内的工作目录是/ddns/,默认配置文件路径为容器内的/ddns/config.json。
docker run -d \ -v /host/config/:/ddns/ \ --network host \ --name ddns \ newfuture/ddns
其中/host/config/是您本地包含config.json的目录。基本的config.json格式示例:
{ "dns": "dnspod", "id": "12345", "token": "mytokenkey", "ipv4": ["example.com", "[***]"], "index4": ["public", 0] }
使用--network host让容器直接使用宿主机网络,可正确获取宿主机IP地址。
docker run -d \ -e DDNS_DNS=dnspod \ -e DDNS_ID=12345 \ -e DDNS_TOKEN=mytokenkey \ -e DDNS_IPV4=example.com \ --network host \ --name ddns \ newfuture/ddns
容器使用独立网络栈,需使用public模式获取公网IP:
docker run -d \ -e DDNS_DNS=dnspod \ -e DDNS_ID=12345 \ -e DDNS_TOKEN=mytokenkey \ -e DDNS_IPV4=example.com \ -e DDNS_INDEX4=public \ --name ddns \ newfuture/ddns
环境变量方式配置多域名:
docker run -d \ -e DDNS_DNS=dnspod \ -e DDNS_ID=12345 \ -e DDNS_TOKEN=mytokenkey \ -e DDNS_IPV4='["example.com", "[***]", "sub.example.com"]' \ --network host \ --name ddns \ newfuture/ddns
命令行参数方式配置多域名:
docker run --rm --network host newfuture/ddns \ --dns dnspod \ --id 12345 \ --token mytokenkey \ --ipv4 ipv4.example.com \ --ipv4 [***]
/etc/docker/daemon.json:{ "ipv6": true, "fixed-cidr-v6": "fd00::/80" }
sudo systemctl restart docker
docker run -d \ --network host \ -e DDNS_DNS=dnspod \ -e DDNS_ID=12345 \ -e DDNS_TOKEN=mytokenkey \ -e DDNS_IPV6=example.com \ --name ddns \ newfuture/ddns
创建docker-compose.yml文件:
version: "3" services: ddns: image: newfuture/ddns:latest restart: always network_mode: host environment: - DDNS_DNS=dnspod - DDNS_ID=12345 - DDNS_TOKEN=mytokenkey - DDNS_IPV4=example.com,[***] - DDNS_INDEX4=['public','url:[***]] - DDNS_LOG_LEVEL=WARNING
version: "3" services: ddns: image: newfuture/ddns:latest restart: always network_mode: host volumes: - ./config:/ddns
运行Docker Compose:
docker-compose up -d
如需在容器中添加其他工具或自定义环境,可基于官方镜像创建Dockerfile:
FROM newfuture/ddns:latest # 安装额外工具 RUN apk add --no-cache curl # 添加自定义脚本 COPY custom-script.sh /bin/ RUN chmod +x /bin/custom-script.sh # 可选:覆盖默认入口点 # ENTRYPOINT ["/bin/custom-script.sh"]
问题:DDNS无法正确获取主机IP
解决方案:
--network host网络模式-e DDNS_INDEX4=public强制使用公网API获取IP问题:容器运行但不自动更新DNS
解决方案:
docker logs ddnsdocker ps -adocker exec ddns /bin/ddns问题:容器启动后立即退出
解决方案:
docker run -it --rm newfuture/ddns问题:容器无法连接到DNS服务商API
解决方案:
docker exec ddns ping api.dnspod.cn-e DDNS_PROXY=[***]免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429