docker run -d --name=aliyun-ddns --restart=always --net=host \
-e "AKID=xxxxx" \
-e "AKSCT=xxxxx" \
-e "DOMAIN=sljjj.top,www.sljjj.top,blog.sljjj.top,photos.sljjj.top,qnap.sljjj.top" \
-e "ROOT_DOMAIN=sljjj.top" \
-e "REDO=30" \
-e "TTL=60" \
-e "TIMEZONE=8.0" \
-e "TYPE=A,AAAA" \
sanjusss/aliyun-ddns
以下是对 docker run
命令中参数配置的详细解释:
基本说明
该命令运行一个容器,使用 sanjusss/aliyun-ddns
镜像来配置和管理阿里云的动态域名解析 (DDNS)。具体参数的含义如下:
Docker 参数
-d
启动容器后以后台模式运行。
--restart=always
设置容器的自动重启策略,当容器退出时始终尝试重新启动。适合长时间运行的服务。
--net=host
将容器的网络设置为主机模式(即与主机共用网络栈)。
优点:容器内的服务可以直接使用主机的网络配置,无需额外映射端口。
用途:对于 DDNS 服务来说,可能需要与主机环境的网络配置无缝对接。
环境变量参数
通过 -e
参数传递环境变量给容器:
1. DOMAIN=sljjj.top,www.sljjj.top
指定需要动态更新的域名,多个域名用逗号
,
分隔。sljjj.top
和www.sljjj.top
是要更新的主域名及子域名。sljjj.top
:主域名。www.sljjj.top
:子域名(www
为主机名)。
动态解析服务会针对这些域名进行 IP 地址更新。
2. ROOT_DOMAIN=sljjj.top
设置根域名,用于解析域名和主机名。
在此配置中:
根域名为
sljjj.top
,即所有子域名的父域。动态域名解析服务会根据这个根域名解析相关记录。
3. REDO=30
刷新间隔时间(单位:秒):
表示服务每隔 30 秒检查一次公网 IP 是否发生变化,并更新解析记录。
如果公网 IP 未变化,则不更新。
4. TTL=60
域名解析记录的生存时间(TTL,单位:秒):
设置 DNS 记录在缓存中的有效期。
这里设置为
60
秒,意味着 DNS 缓存会在 60 秒后刷新。
5. TIMEZONE=8.0
时区设置:
设置容器运行环境的时区。
这里为
8.0
,表示东八区(北京时间)。
6. TYPE=A,AAAA
解析记录类型:
指定更新的解析记录类型:
A
:IPv4 地址解析记录。AAAA
:IPv6 地址解析记录。
服务会同时处理 IPv4 和 IPv6 的解析记录。
镜像名称
sanjusss/aliyun-ddns
这是 Docker 镜像名,用于运行阿里云动态域名解析服务。
总结用途
这个命令的作用是启动一个基于 Docker 的动态域名解析服务,定期更新阿里云上的 DNS 解析记录,以便将动态公网 IP 自动同步到指定的域名(sljjj.top
和 www.sljjj.top
)。它适用于动态公网 IP 环境下的服务,例如家庭宽带等。
如果需要进一步优化配置或测试使用,请告诉我!