本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

route53-dyndns Docker 镜像下载 - 轩辕镜像

route53-dyndns 镜像详细信息和使用指南

route53-dyndns 镜像标签列表和版本信息

route53-dyndns 镜像拉取命令和加速下载

route53-dyndns 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

route53-dyndns
bshaw/route53-dyndns
自动构建

route53-dyndns 镜像详细信息

route53-dyndns 镜像标签列表

route53-dyndns 镜像使用说明

route53-dyndns 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于Route53的简单动态DNS服务
3 收藏0 次下载activebshaw镜像

route53-dyndns 镜像详细说明

route53-dyndns 使用指南

route53-dyndns 配置说明

route53-dyndns 官方文档

Amazon Route53 Dynamic DNS 镜像文档

镜像概述和主要用途

Amazon Route53 Dynamic DNS镜像是一个轻量级工具,用于动态更新AWS Route53托管的DNS A记录,将其设置为当前运行环境的外部IP地址。主要用途是解决动态IP环境下DNS记录自动同步的需求,确保域名始终指向最新的外部IP。

注意事项

警告
最新版本不再通过sleep脚本保持容器运行,需通过Cron定时任务或Kubernetes CronJob等方式定期执行。
若需继续使用旧版(通过sleep保持容器运行),请使用镜像标签:33.0.1

核心功能和特性

  • 动态IP同步:自动将Route53托管的A记录更新为当前系统的外部IP地址
  • 高效IP获取:通过DNS查询(OpenDNS resolver)获取外部IP,无需依赖HTTP服务,速度快且可靠性高
  • 灵活配置:支持通过命令行参数指定目标DNS记录、启用详细日志输出
  • 安全凭证管理:通过环境变量注入AWS访问凭证,避免明文配置
  • 定时任务适配:设计为一次性任务模式,适合通过Cron、Kubernetes CronJob等工具定时触发

使用场景和适用范围

  • 动态IP环境:家庭宽带、移动网络等IP频繁变化的场景,需保持域名解析有效性
  • 远程访问需求:个人服务器、NAS设备等需要通过域名远程访问的场景
  • 容器化部署:支持Docker、Podman等容器引擎,以及Kubernetes集群环境
  • AWS Route53用户:依赖AWS Route53作为DNS服务提供商的个人或企业用户

使用方法和配置说明

前提条件

  • 已拥有AWS账户及Route53托管区域,且目标A记录已存在
  • 已准备具有Route53操作权限的AWS凭证(AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
  • 运行环境需支持Docker/Podman、Kubernetes或Cron(根据部署方式选择)

Kubernetes CronJob部署

1. 创建Secret存储AWS凭证

通过Kubernetes Secret安全存储AWS访问凭证:

bash
kubectl 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记录):

yaml
apiVersion: 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部署

通过Docker或Podman运行一次性任务,手动触发DNS记录更新:

bash
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  # 需更新的DNS记录(替换为实际域名)
  --verbose  # 可选:启用详细输出

Cron定时任务部署

通过系统Cron配置周期性执行(示例为每5分钟运行一次):

  1. 编辑crontab:crontab -e
  2. 添加以下配置(替换占位符为实际值):
plaintext
*/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查看完整参数列表:

bash
python3 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_IDAWS访问密钥ID,需包含Route53操作权限AKIAEXAMPLE123
AWS_SECRET_ACCESS_KEY对应访问密钥ID的AWS密钥secret123examplekey

命令行参数

参数简写描述示例
--record-r指定需更新的DNS A记录(必需参数)example.com
--verbose-v启用详细输出模式,显示IP获取和更新日志无(存在即启用)

外部IP获取机制

工具通过DNS查询获取当前外部IP,具体方式为向OpenDNS的公共 resolver 发送查询请求:

bash
dig +short myip.opendns.com @resolver1.opendns.com

该方法无需依赖第三方HTTP API,具有更低的延迟和更高的可用性。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"