
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
geo-checker是一个基于openresty(nginx)的Docker镜像,集成了geoip2模块、geoipupdate工具和cron服务。该镜像主要用于提供IP地理位置查询服务,能够根据IP地址返回对应的国家代码和名称,并通过geoipupdate结合cron实现GeoIP数据库的自动更新,确保地理信息的准确性。
/ip/1.1.1.1)指定查询IPshellexport GEOIP_ACCOUNTID="你的AccountID" # 从maxmind获取的AccountID export GEOIP_LICENSEKEY="你的LicenseKey" # 从maxmind获取的LicenseKey export GEOIP_EDITIONID="GeoLite2-Country" # 数据库类型,可选"GeoLite2-Country"或"GeoIP2-Country"
后台模式
shelldocker run -d \ -v /tmp/geoip/:/usr/share/geoip/ \ # 挂载目录存储GeoIP数据库(持久化) -e GEOIP_ACCOUNTID=$GEOIP_ACCOUNTID \ -e GEOIP_LICENSEKEY=$GEOIP_LICENSEKEY \ -e GEOIP_EDITIONID=$GEOIP_EDITIONID \ --name geo-checker \ -p 8080:80 \ # 映射端口(容器内80端口) ymuski/geo-checker:latest
交互模式
shelldocker run --rm -it \ # --rm:退出后删除容器;-it:交互模式 -v ${PWD}/tmp/geoip/:/usr/share/geoip/ \ # 当前目录下的tmp/geoip目录作为数据库存储 -e GEOIP_ACCOUNTID=$GEOIP_ACCOUNTID \ -e GEOIP_LICENSEKEY=$GEOIP_LICENSEKEY \ -e GEOIP_EDITIONID=$GEOIP_EDITIONID \ --name geo-checker \ -p 8080:80 \ ymuski/geo-checker
可通过curl命令测试服务,支持以下IP指定方式(优先级从高到低):
X-Custom-Real-Ip请求头(最高优先级):
shellcurl localhost:8080 -H "X-Custom-Real-Ip: 1.1.1.1"
X-Real-Ip请求头:
shellcurl localhost:8080 -H "X-Real-Ip: 1.1.1.1"
CF-Connecting-IP请求头:
shellcurl localhost:8080 -H "CF-Connecting-IP: 1.1.1.1"
URL路径参数:
shellcurl localhost:8080/ip/1.1.1.1
响应体(JSON)
json{"IP":"1.1.1.1","iso2Code":"AU","name":"Australia"}
响应头
X-Real-IP: 1.1.1.1 # 查询的IP地址 X-Geo-Country-Code: AU # 国家代码(ISO 3166-1 alpha-2) X-Geo-Country-Name: Australia # 国家名称
构建镜像:
shelldocker build -t ymuski/geo-checker .
拉取镜像:
shelldocker pull ymuski/geo-checker
普通nginx作为反向代理:
nginxlocation / { proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实IP proxy_pass http://127.0.0.1:8080; # 代理到geo-checker服务 }
Cloudflare + nginx作为反向代理:
nginxlocation / { proxy_pass http://127.0.0.1:8080; # Cloudflare会自动设置CF-Connecting-IP头 }
建议通过-v参数挂载本地目录到/usr/share/geoip/,避免容器重启后GeoIP数据库丢失,减少重复下载。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务