背景
目前有两个做ddns的开源项目,我们选择了:
https://gitee.com/Xsssd/ddns4j
原因是这个能提供web界面,缺点是只有2种获取本机公网IP的方式。
编写docker-compose.yml
把官网提供的docker run命令转换一下:
version: '3.6'
services:
ddns:
image: 'topsssd/ddns4j:v1.6.4'
container_name: ddns4j
network_mode: host
restart: always
shm_size: '256m'
注意,如果最终是用网站的api来确定本机的公网IP地址,就不需要把network_mode设置成host。
新增
按照文档,启动容器后,点“新增”按钮,
所谓服务商ID和服务商密钥,要登入阿里云后自己去新增,注意要赋予DNS操作的对应权限。
点“提交”后,会受到一个错误提示,因为我们的子域名在阿里云中不存在。但是执行依然是成功的