DDNS GO 极空间 docker 部署方式

DDNS GO 极空间 docker 部署方式

BoscoTsang 2026-10-19

DDNS GO 极空间 docker 部署方式


上周我彻底放弃了极空间自带的域名解析功能。不是因为它不好用,而是太“笨”了。每天晚高峰回家,极空间的内网穿透接口偶尔抽风,导致我通过 DDNS 查到的 IP 地址是旧的,结果打不开家里的监控。为了这点事,我折腾了整整一个下午,把 DDNS-GO 容器化部署进了极空间的 Docker 环境。

如果你也受够了极空间自带的动态解析偶尔掉链子,或者想接入一些极空间没提供的冷门 DNS 服务商,这套方案能帮你把主动权拿回来。

先说结论:DDNS-GO 在极空间上跑得很稳,但部署过程中有两个坑,踩进去会浪费你至少半小时。下面我直接按我的实际操作顺序,把过程拆解开给你看。

第一步:找镜像源

极空间自带的 Docker 管理器里直接搜“ddns-go”有时候会失败,或者更新很慢。我建议直接去 Docker Hub 确认好最新的 tag,然后在极空间的“应用中心”或者“容器管理”里手动添加。我当时用的是 jigsaw/ddns-go:latest。注意,一定要用 latest,因为 DDNS-GO 更新很频繁,老版本对新协议的兼容有时会出问题。

第二步:映射端口与配置持久化(大坑预警)

这是大多数人容易翻车的地方。DDNS-GO 的配置文件默认存在容器内部的 /etc/ddns-go 目录下。如果你不做持久化挂载,每次容器重启,你辛辛苦苦填的 Token、密码、域名全都没了。

我在极空间的容器创建界面,做了两个关键挂载:

  1. 主机目录 /custom/app/ddns-go/config 映射到容器的 /etc/ddns-go。
  2. 主机目录 /custom/app/ddns-go/logs 映射到容器的 /root。

这里我要特别提一下极空间的一个小毛病:在创建容器时,如果你新建了一个从未被使用过的文件夹作为挂载点,极空间有时会默认创建为 root 权限,导致容器内的进程(非 root 运行)写不进去日志。我当时的现象是容器一直循环重启,日志里只有 Permission denied。解决办法是去极空间的文件管理器,手动把那个目录权限改成 777,或者确保容器内以 root 身份运行。

第三步:获取公网 IP 的陷阱

很多人以为只要容器跑起来,DDNS-GO 就能自动获取公网 IP。错。如果你家宽带是光猫拨号,或者开了路由器 NAT,容器获取到的往往只是内网 IP(比如 192.168.x.x)。DDNS-GO 会诚实地把这个内网 IP 更新到 DNS 服务商那里,结果就是你在外网完全连不上。

我当时的解决方案是在 DDNS-GO 的设置界面,勾选“通过 API 获取 IP”,并选择了 ifconfig.me 作为探测源。这样它能从外部视角看到你的真实公网 IP。如果你的 ISP 给你分配的是动态 IP,这一步是必须的。

第四步:验证与监控

容器启动后,访问 http://你的极空间IP:9999(默认端口是 9999,我改成了 9999 避免冲突)。这时候你需要输入 DDNS-GO 生成的登录密码,这个密码第一次生成时会在日志里明文打印,记得立刻记下来。

我养成的习惯是,部署完不要直接躺平。我设了一个简单的 Cron 任务,每小时检查一次 DDNS 服务商后台的 IP 是否和 DDNS-GO 面板显示的 IP 一致。虽然 DDNS-GO 本身有监控机制,但多一层保险心里更踏实。

关于更新的取舍

极空间现在支持“自动更新”容器。对 DDNS-GO 来说,我建议关闭自动更新。为什么?因为 DDNS-GO 的数据结构偶尔会有微调,自动拉取新镜像可能导致配置文件字段不匹配,引发报错。我现在的节奏是:每两周手动拉取一次新镜像,对比一下 changelog,确认没问题再停止旧容器、启动新容器。

最后说点真实的感受。这套流程跑通后,我家里所有的外网访问——包括 NAS 远程挂载、SSH 终端、甚至家里的智能插座 APP 都变得极其稳定。以前那种“明明 IP 变了但 DNS 没解析过来”的焦虑感彻底消失了。

DDNS-GO 本身是个很轻量的工具,资源占用极低,极空间跑它毫无压力。唯一需要你要注意的是路径挂载权限,这是极空间 Docker 部署里最容易让人抓狂的点。搞定这个,后面就是纯粹的享用了。

如果你的极空间版本比较老,找不到 Docker 容器管理入口,那可能需要先升级系统,老版本的极空间对 Docker 的支持非常有限,基本属于不可用状态。

评论
分享

共 0 条评论

发表评论