
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Amazon Route53 Dynamic DNS镜像是一个轻量级工具,用于动态更新AWS Route53托管的DNS A记录,将其设置为当前运行环境的外部IP地址。主要用途是解决动态IP环境下DNS记录自动同步的需求,确保域名始终指向最新的外部IP。
| 警告 |
|---|
| 最新版本不再通过sleep脚本保持容器运行,需通过Cron定时任务或Kubernetes CronJob等方式定期执行。 若需继续使用旧版(通过sleep保持容器运行),请使用镜像标签 :3或3.0.1。 |
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY)1. 创建Secret存储AWS凭证
通过Kubernetes Secret安全存储AWS访问凭证:
bashkubectl create secret generic route53-dyndns-secret \ --from-literal=AWS_ACCESS_KEY_ID='你的AWS访问密钥ID' \ --from-literal=AWS_SECRET_ACCESS_KEY='你的AWS密钥'
2. 部署CronJob定时任务
创建每5分钟执行一次的CronJob,示例配置如下(更新example.com记录):
yamlapiVersion: batch/v1 kind: CronJob metadata: name: route53-dyndns-cron spec: schedule: "*/5 * * * *" # 每5分钟执行一次 jobTemplate: spec: ttlSecondsAfterFinished: 100 # 任务完成后100秒自动清理 template: spec: containers: - image: docker.io/bshaw/route53-dyndns name: route53-dyndns imagePullPolicy: Always envFrom: - secretRef: name: route53-dyndns-secret # 引用上述创建的Secret args: - --record - example.com # 需更新的DNS记录(替换为实际域名) - --verbose # 启用详细输出 restartPolicy: OnFailure # 任务失败时重启
通过Docker或Podman运行一次性任务,手动触发DNS记录更新:
bashdocker run \ --rm \ # 任务完成后自动删除容器 --name route53-dyndns \ -e AWS_ACCESS_KEY_ID="你的AWS访问密钥ID" \ -e AWS_SECRET_ACCESS_KEY="你的AWS密钥" \ bshaw/route53-dyndns \ --record example.com # 需更新的DNS记录(替换为实际域名) --verbose # 可选:启用详细输出
通过系统Cron配置周期性执行(示例为每5分钟运行一次):
crontab -eplaintext*/5 * * * * docker run --rm --name route53-dyndns -e AWS_ACCESS_KEY_ID="你的AWS访问密钥ID" -e AWS_SECRET_ACCESS_KEY="你的AWS密钥" bshaw/route53-dyndns --record example.com --verbose
通过--help查看完整参数列表:
bashpython3 r53dyndns.py --help
输出说明:
usage: r53dyndns.py [-h] [-r RECORD] [-v] 更新Route53托管的A记录为系统当前的外部IP地址。 可选参数: -h, --help 显示帮助信息并退出 -r RECORD, --record RECORD 指定需要更新的DNS A记录(必需) -v, --verbose 启用详细输出,显示IP检查和更新过程
| 环境变量 | 描述 | 示例值 |
|---|---|---|
AWS_ACCESS_KEY_ID | AWS访问密钥ID,需包含Route53操作权限 | AKIAEXAMPLE123 |
AWS_SECRET_ACCESS_KEY | 对应访问密钥ID的AWS密钥 | secret123examplekey |
| 参数 | 简写 | 描述 | 示例 |
|---|---|---|---|
--record | -r | 指定需更新的DNS A记录(必需参数) | example.com |
--verbose | -v | 启用详细输出模式,显示IP获取和更新日志 | 无(存在即启用) |
工具通过DNS查询获取当前外部IP,具体方式为向OpenDNS的公共 resolver 发送查询请求:
bashdig +short myip.opendns.com @resolver1.opendns.com
该方法无需依赖第三方HTTP API,具有更低的延迟和更高的可用性。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务