专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

jusaba/dns Docker 镜像 - 轩辕镜像

dns
jusaba/dns
miniDynDns客户端Docker镜像,用于动态更新DNS服务器上主机的IP地址,支持多DNS服务器配置,通过环境变量设置主机名、刷新频率和密码,定期自动执行IP更新。
0 次下载activejusaba镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

miniDynDns客户端Docker镜像

镜像概述和主要用途

本镜像为miniDynDns的客户端实现,用于在DNS服务器上动态更新主机的IP地址。适用于需要保持DNS记录与主机当前IP一致的场景,支持同时配置多个DNS服务器,通过环境变量灵活设置,并定期自动刷新IP信息。

核心功能和特性

  • 多DNS服务器支持:可配置任意数量的DNS服务器,通过环境变量统一管理
  • 定期IP刷新:自定义刷新间隔(分钟),自动执行IP更新
  • 灵活配置方式:支持两种服务器配置模式(推荐的逗号分隔变量或兼容旧版本的编号变量)
  • 环境变量驱动:所有配置通过环境变量注入,无需修改容器内部文件
  • 轻量级基础:基于debian:bookworm-slim,体积小且资源占用低

使用场景和适用范围

适用于主机IP地址可能动态变化的环境,需要保持DNS记录实时更新的场景,例如:

  • 家庭服务器或个人主机使用动态公网IP
  • 需要从互联网访问的本地设备
  • 多DNS服务器架构下的IP同步需求

安装方法

拉取镜像
bash
docker pull jusaba/dns:latest

镜像构建说明

依赖文件

构建镜像需准备以下文件:

Dockerfile
dockerfile
FROM debian:bookworm-slim

ENV TZ=Europe/Madrid

LABEL version=2.0
LABEL autor=Julian_Salas

RUN apt-get update -y && \
    apt-get upgrade -y && \
    apt-get install -y --no-install-recommends \
        cron \
        python3 \
        python3-requests && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

COPY ./start.sh /home/pi/ip/start.sh
WORKDIR /home/pi/ip

CMD ["bash", "start.sh"]
start.sh脚本
bash
#!/bin/bash
# /home/pi/ip/start.sh
# 支持任意数量的DNS服务器
# 服务器通过SERVIDORES变量传入,以逗号分隔
# 示例: SERVIDORES=dns1.com,dns2.com,dns3.com
# 或通过servidor1, servidor2等变量(兼容旧版本)

rm -f /home/pi/ip/ActualizaDNS.py
touch /home/pi/ip/ActualizaDNS.py
rm -f /var/spool/cron/crontabs/root
touch /var/spool/cron/crontabs/root

# 生成获取公网IP并发送更新请求的Python脚本
echo "import requests" >> /home/pi/ip/ActualizaDNS.py
echo "from requests.auth import HTTPBasicAuth" >> /home/pi/ip/ActualizaDNS.py
echo "" >> /home/pi/ip/ActualizaDNS.py
echo "# 获取公网IP" >> /home/pi/ip/ActualizaDNS.py
echo "try:" >> /home/pi/ip/ActualizaDNS.py
echo "    myip = requests.get('[***] timeout=10).text.strip()" >> /home/pi/ip/ActualizaDNS.py
echo "except:" >> /home/pi/ip/ActualizaDNS.py
echo "    myip = requests.get('[***] timeout=10).text.strip()" >> /home/pi/ip/ActualizaDNS.py
echo "" >> /home/pi/ip/ActualizaDNS.py

# 使用SERVIDORES变量(推荐方式)
if [ -n "$SERVIDORES" ]; then
    echo "$SERVIDORES" | tr ',' '\n' | while read servidor; do
        servidor=$(echo "$servidor" | tr -d ' ')
        if [ -n "$servidor" ]; then
            echo "requests.get(f'[***]{servidor}:8001/?myip={myip}', auth=HTTPBasicAuth('$host', '$password'))" >> /home/pi/ip/ActualizaDNS.py
        fi
    done
else
    # 使用编号变量(兼容旧版本)
    i=1
    while true; do
        eval servidor=\$servidor$i
        if [ -z "$servidor" ]; then
            break
        fi
        echo "requests.get(f'[***]{servidor}:8001/?myip={myip}', auth=HTTPBasicAuth('$host', '$password'))" >> /home/pi/ip/ActualizaDNS.py
        i=$((i + 1))
    done
fi

# 配置定时任务
service cron stop
chmod 600 /var/spool/cron/crontabs/root
echo "*/${refresco} * * * * python3 /home/pi/ip/ActualizaDNS.py" >> /var/spool/cron/crontabs/root
service cron reload
cron -f
手动构建(多平台)

使用buildx构建多平台镜像:

bash
docker buildx build --platform=linux/amd64,linux/arm64,linux/arm/v7 -t jusaba/dns:latest . --push
自动构建(GitHub Actions)

项目包含GitHub Actions工作流,在以下情况自动构建并推送镜像:

  • 推送至main分支
  • 创建格式为v*的标签(如v1.0.0)
  • 手动触发

需配置GitHub Secrets:

  • DOCKER_USERNAME:Docker Hub用户名
  • DOCKER_PASSWORD:Docker Hub密码或访问令牌

容器启动与配置

环境变量说明
变量名描述
host主机名(如"lleida"对应"lleida.dominio.es"),需已在DNS服务器注册
refrescoIP刷新间隔(分钟)
password主机在DNS服务器注册时的密码
SERVIDORESDNS服务器列表,逗号分隔(推荐),如"dns1.com,dns2.com"
servidor1, servidor2...编号DNS服务器变量(兼容旧版本)
启动方式
方式1:使用SERVIDORES变量(推荐)
bash
docker run -e host=lleida \
           -e refresco=1 \
           -e password=passlleida \
           -e SERVIDORES=dns1.com,dns2.com \
           -d --name dns jusaba/dns:latest
方式2:使用编号变量(兼容旧版本)
bash
docker run -e host=lleida \
           -e refresco=1 \
           -e password=passlleida \
           -e servidor1=dns1.com \
           -e servidor2=dns2.com \
           -d --name dns jusaba/dns:latest
方式3:使用.env文件

创建parametros.env文件:

env
host=lleida
refresco=1
password=passlleida
SERVIDORES=dns1.com,dns2.com

启动容器:

bash
docker run --env-file parametros.env -d --name dns jusaba/dns:latest

作者

Julián Salas Barolome - 开发与文档

许可协议

本项目可作为miniDynDns客户端自由使用。

查看更多 dns 相关镜像 →
rancher/dns logo
rancher/dns
by Rancher by SUSE
认证
暂无描述
310M+ pulls
上次更新:7 年前
akamai/dns logo
akamai/dns
by akamai
认证
Akamai DNS命令行工具,用于通过命令行管理Akamai DNS服务,支持DNS记录配置、查询与修改等操作。
110K+ pulls
上次更新:1 个月前
qmcgaw/dns logo
qmcgaw/dns
by qmcgaw
作为DNS over TLS上游服务器,连接至支持IPv4和IPv6的DNS over TLS服务器
4100K+ pulls
上次更新:20 天前
aveshasystems/dns logo
aveshasystems/dns
by aveshasystems
KubeSlice DNS是用于解析应用切片上暴露的服务名称的DNS服务器,当服务通过ServiceExport对象导出到切片时,会在切片所有集群的KubeSlice DNS服务器中创建DNS条目。
10K+ pulls
上次更新:13 天前
saltydk/dns logo
saltydk/dns
by saltydk
暂无描述
50K+ pulls
上次更新:6 个月前
bitnami/external-dns logo
bitnami/external-dns
by VMware
认证
外部DNS的Bitnami安全镜像
211B+ pulls
上次更新:4 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
jusaba/dns
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429