
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!Docker Pulls !https://github.com/mm28ajos/docker-dynamic-dns-netcup-api/actions/workflows/build-images.yml/badge.svg
一个基于PHP的Docker化动态DNS客户端,用于netcup DNS API。 本项目是https://github.com/stecklars/dynamic-dns-netcup-api%E7%9A%84%E5%88%86%E6%94%AF%EF%BC%8C%E8%AF%A6%E6%83%85%E5%8F%82%E8%A7%81https://github.com/mm28ajos/docker-dynamic-dns-netcup-api%E3%80%82
适用于netcup域名用户需要动态更新DNS记录的场景,如家庭网络、动态IP环境下的服务器、需要IPv6动态解析的设备等,尤其适合需要分别管理IPv4和IPv6记录、或需在IP变更时自动重启相关服务的用户。
创建docker-compose文件,示例如下。注意:为从本地适配器获取IPv6地址,network_mode必须设为host。调试时,可覆盖默认命令(见示例)。若需在IPv6地址变更时重启其他容器,需将docker socket作为卷挂载到容器。将更新脚本的配置文件和msmtprc(如需邮件通知)作为卷挂载,并通过TZ环境变量设置时区。也可使用环境变量配置脚本设置(见下一节)。
仅使用配置文件的示例
yamlservices: dynamic-dns-netcup-updater: image: mm28ajos/docker-dynamic-dns-netcup-api:latest volumes: - /path/config.ini:/usr/src/dynamic-dns-netcup-api/config.ini # 脚本配置文件 - /path/msmtprc.conf:/root/.msmtprc # 邮件配置(如需) - /var/run/docker.sock:/var/run/docker.sock # 如需重启容器 network_mode: host # 调试时覆盖命令:command: php ./update-docker.php environment: - TZ=Europe/Berlin # 设置时区 restart: unless-stopped
使用环境变量的示例
yamlservices: dynamic-dns-netcup-updater: image: mm28ajos/docker-dynamic-dns-netcup-api:latest volumes: - /path/msmtprc.conf:/root/.msmtprc # 邮件配置(如需) - /var/run/docker.sock:/var/run/docker.sock # 如需重启容器 network_mode: host environment: - TZ=Europe/Berlin - CUSTOMERNR=12345 # netcup客户编号 - APIKEY=abcdefghijklmnopqrstuvwxyz # API密钥 - APIPASSWORD=abcdefghijklmnopqrstuvwxyz # API密码 - DOMAIN=mydomain.com # 域名 - USE_IPV4=true # 启用IPv4更新 - HOST_IPv4=sub.subdomainA,server1.subdomainC # IPv4子域名(逗号分隔) - USE_FRITZBOX=false # 是否使用FritzBox获取IPv4 - FRITZBOX_IP=fritz.box # FritzBox IP(USE_FRITZBOX=true时需设置) - USE_IPV6=false # 启用IPv6更新 - HOST_IPv6=sub.subdomainB,server1.subdomainB # IPv6子域名(逗号分隔) - IPV6_INTERFACE=eth0 # IPv6网络接口 - NO_IPV6_PRIVACY_EXTENSIONS=true # 仅使用不带隐私扩展的IPv6地址 - CHANGE_TTL=true # 是否将TTL降至300秒 - SEND_MAIL=false # 启用邮件告警 - MAIL_RECIPIENT=user@domain.tld # 邮件接收地址 - SLEEP_INTERVAL_SEC=5 # 检查间隔(秒) - RESTART_CONTAINERS=true # IP变更时重启容器 - CONTAINERS=containerA,ContainerB # 需重启的容器名(逗号分隔) restart: unless-stopped
config.ini配置
挂载至/usr/src/dynamic-dns-netcup-api/config.ini,参数说明如下:
ini; netcup客户编号 CUSTOMERNR = 12345 ; API密钥和密码(从CCP获取) APIKEY = abcdefghijklmnopqrstuvwxyz APIPASSWORD = abcdefghijklmnopqrstuvwxyz ; 目标域名 DOMAIN = mydomain.com ; 启用IPv4更新 USE_IPV4 = true ; IPv4子域名(逗号分隔,@表示根域名,*表示通配符),不存在时自动创建记录 HOST_IPv4 = sub.subdomainA, server1.subdomainC ; 是否通过FritzBox获取IPv4 USE_FRITZBOX = false ; FritzBox IP(USE_FRITZBOX=true时必填,默认fritz.box) ; FRITZBOX_IP = fritz.box ; 启用IPv6更新(需IPv6网络环境,否则会报错) USE_IPV6 = false ; IPv6子域名(逗号分隔,格式同上) ; HOST_IPv6 = sub.subdomainB, server1.subdomainB ; IPv6网络接口(USE_IPV6=true时必填) ; IPV6_INTERFACE = eth0 ; 是否仅使用不带隐私扩展的IPv6地址(SLAAC) ; NO_IPV6_PRIVACY_EXTENSIONS = true ; 是否将TTL降至300秒(如需要) CHANGE_TTL = true ; 启用邮件告警(需配置msmtp) SEND_MAIL = false ; 邮件接收地址(SEND_MAIL=true时必填) ; MAIL_RECIPIENT = user@domain.tld ; IP检查间隔(秒) SLEEP_INTERVAL_SEC = 5 ; IP变更时重启容器(需挂载docker socket) RESTART_CONTAINERS = false ; 需重启的容器名(RESTART_CONTAINERS=true时必填,逗号分隔) ; CONTAINERS = containerA,containerB
邮件配置(msmtprc.conf)
如需邮件告警,挂载至/root/.msmtprc,示例:
ini# 全局设置 defaults # 认证与TLS配置 auth on tls on tls_starttls off tls_certcheck on # 默认账户设置 account default add_missing_from_header on host "smtp.domain.tld" # SMTP服务器 port 465 # SMTP端口 domain "domain.tld" maildomain "domain.tld" user username # SMTP用户名 password "password" # SMTP密码 from "***" # 发件人地址
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务