如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
基于Alpine和Debian slim的Bind缓存DNS服务器,支持DNS转发器、无限通配符DNS、无限额外主机、反向DNS、DNSSEC定时设置等功能。
amd64, i386, arm64, arm/v7, arm/v6, ppc64le, s390x, mips64le
每晚构建更新,以下标签为滚动版本:
| Docker标签 | Git分支 | 支持架构 |
|---|---|---|
latest | master | amd64, i386, arm64, arm/v7, arm/v6, ppc64le, s390x, mips64le |
stable | master | amd64, i386, arm64, arm/v7, arm/v6, ppc64le, s390x, mips64le |
alpine | master | amd64, i386, arm64, arm/v7, arm/v6, ppc64le, s390x, mips64le |
一次性构建,用于可重现部署,需定期更新标签以保持最新:
| Docker标签 | Git引用 | 支持架构 |
|---|---|---|
<tag> | git: | amd64, i386, arm64, arm/v7, arm/v6, ppc64le, s390x, mips64le |
<tag>-stable | git: | amd64, i386, arm64, arm/v7, arm/v6, ppc64le, s390x, mips64le |
<tag>-alpine | git: | amd64, i386, arm64, arm/v7, arm/v6, ppc64le, s390x, mips64le |
注:
<tag>需替换为仓库的git标签。最新git标签也会每晚构建,视为滚动标签。
无
| 变量 | 类型 | 默认值 | 描述 |
|---|---|---|---|
DEBUG | bool | 0 | 设置为1可在入口脚本中添加set -x进行bash调试 |
DEBUG_ENTRYPOINT | bool | 0 | 显示启动时执行的shell命令。值:0(仅警告/错误)、1(信息/警告/错误)、2(含执行命令) |
DOCKER_LOGS | bool | 0 | 设置为1可将信息和查询记录到Docker日志 |
DNS_A | string | 逗号分隔的A记录列表(支持通配符) | |
DNS_CNAME | string | 逗号分隔的CNAME记录列表(支持通配符) | |
DNS_PTR | string | 逗号分隔的PTR记录列表(反向DNS) | |
DNSSEC_VALIDATE | string | no | DNSSEC验证行为:no(默认,不验证)、yes(需手动配置信任锚)、auto(使用根区默认信任锚) |
DNS_FORWARDER | string | 逗号分隔的自定义DNS解析器IP列表,如8.8.8.8,8.8.4.4 | |
MAX_CACHE_SIZE | size | 90% | 服务器缓存内存用量,支持相对值(如30%)或绝对值(如512M、2G) |
TTL_TIME | int | 3600 | TTL时间(秒),详见BIND TTL |
REFRESH_TIME | int | 1200 | SOA刷新时间(秒),详见BIND SOA |
RETRY_TIME | int | 180 | SOA重试时间(秒),详见BIND SOA |
EXPIRY_TIME | int | 1209600 | SOA过期时间(秒),详见BIND SOA |
MAX_CACHE_TIME | int | 10800 | 最大缓存时间(秒),详见BIND SOA |
ALLOW_QUERY | string | 允许查询的IP/IP段(CIDR)列表,如192.168.1.0/24,127.0.0.1,默认允许所有(any) | |
ALLOW_RECURSION | string | 允许递归查询的IP/IP段(CIDR)列表,如192.168.1.0/24,127.0.0.1 |
DNS_A
指定A记录(支持通配符),格式:DNS_A='tld1=1.1.1.1, *.tld2=2.2.2.2'
示例:DNS_A='*.example.com=192.168.0.1, *.org=10.0.0.2'
DNS_CNAME
指定CNAME记录(支持通配符),格式:DNS_CNAME='tld1=google.com, *.tld2=example.org'
示例:DNS_CNAME='*.tld=example.org'(将所有*.tld解析为example.org的IP)
DNS_PTR
指定反向DNS记录,格式:DNS_PTR='IP=域名'
示例:DNS_PTR='192.168.0.1=host.loc, 10.0.0.2=server.example.com'
DNS_FORWARDER
指定外部DNS转发器,格式:DNS_FORWARDER='IP1,IP2'
示例:DNS_FORWARDER='8.8.8.8,192.168.0.10'(Google DNS和局域网DNS)
无
| 端口 | 描述 |
|---|---|
| 53/tcp | DNS解析器 |
| 53/udp | DNS解析器 |
以下示例使用-i以交互模式运行,生产环境建议使用-d后台运行。
bashdocker run -i \ -p 53:53/tcp \ -p 53:53/udp \ -t docker.xuanyuan.run/cytopia/bind
将所有*.example.com子域名解析到192.168.0.1:
bashdocker run -i \ -p 53:53/tcp \ -p 53:53/udp \ -e DNS_A='*.example.com=192.168.0.1' \ -t docker.xuanyuan.run/cytopia/bind
将*.loc及loc本身解析到192.168.0.4,并添加反向DNS:
bashdocker run -i \ -p 53:53/tcp \ -p 53:53/udp \ -e DNS_A='*.loc=192.168.0.4, loc=192.168.0.4' \ -e DNS_PTR='192.168.0.4=host.loc' \ -t docker.xuanyuan.run/cytopia/bind
将*.loc解析到192.168.0.1,并使用企业DNS服务器10.0.15.1和10.0.15.2:
bashdocker run -i \ -p 53:53/tcp \ -p 53:53/udp \ -e DNS_A='*.loc=192.168.0.1' \ -e DNS_FORWARDER=10.0.15.1,10.0.15.2 \ -t docker.xuanyuan.run/cytopia/bind
允许192.168.0.0/24和本地主机查询及递归,使用Google DNS:
bashdocker run -i \ -p 53:53/tcp \ -p 53:53/udp \ -e DNS_A='host1=192.168.0.11' \ -e DNS_FORWARDER=8.8.8.8,8.8.4.4 \ -e ALLOW_QUERY=192.168.0.0/24,127.0.0.1 \ -e ALLOW_RECURSION=192.168.0.0/24,127.0.0.1 \ -t docker.xuanyuan.run/cytopia/bind
修改/etc/dhcp/dhclient.conf,添加:
bashprepend domain-name-servers 127.0.0.1;
重启网络管理器:
bashsudo systemctl restart network-manager
此配置将本地DNS设为首选,不影响DHCP提供的其他DNS服务器。
MIT许可证,详见https://opensource.org/licenses/MIT。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务