安装 Docker
使用官方安装脚本快速安装 Docker:
curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh
设置 Docker 开机自启并立即启动:
sudo systemctl enable --now docker
添加当前用户到 docker 用户组(避免每次用 sudo)
sudo usermod -aG docker $USER
生效方式:
推荐:重新登录终端会话
或使用临时方式立即生效
newgrp docker
验证是否配置成功:
docker info
若无权限报错,则配置已生效。
Docker 中部署 DDNS-GO
我们将使用 Docker 的 host 网络模式挂载主机目录,确保 DDNS 能正常检测本地 IP:
docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
/opt/ddns-go 是主机目录,你可以替换为任意路径,用于持久化配置。
启动后,DDNS-GO 的配置文件为 .ddns-go.yaml,位于挂载目录中。
初始化配置
部署完成后,打开浏览器访问:
http://<Docker主机IP>:9876
你会看到 DDNS-GO 的初始化页面,如图所示:

DDNS-GO 是一个开源的动态域名更新工具,支持多个域名服务商,我的域名托管在cloudflare上,所以需要在cloudflare上申请一个API-KEY来做这个更新。
TTL 建议设置为“自动”
IP 获取方式推荐使用外网 API(如 ipip.net)

前往 Cloudflare 的 API Token 页面,为 DDNS-GO 创建一个具备修改 DNS 权限的 Token。
建议选择 “Edit zone DNS” 模板,只赋予必要权限,并可以限制在特定域名范围内使用。

到域名的DNS管理页面,设置域名解析,然后把域名添加到DDNS-GO后台
验证 DDNS 的效果
我们尝试停止云主机后再重新开启,公网 IP 会发生变化:

重启后 DDNS-GO 会自动检测 IP 变动并更新域名解析:
总结
即使云服务器没有绑定弹性公网 IP,借助 DDNS-GO 和 Docker,我们依然可以实现动态域名解析:
低成本:无需购买 EIP,节省开销;
自动化:IP 改变后自动更新域名解析;
易部署:Docker 一键运行,配置简单直观。

评论区(暂无评论)