
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像包含一个Python脚本,可持续运行Ookla官方Speedtest CLI应用程序,通过环境变量接收配置,对网络速度数据进行格式化处理后写入InfluxDB数据库。该工具能够长期测量互联网连接的速度和稳定性,配置简单,仅需一行Docker命令即可部署,并可配合Grafana实现数据可视化分析。
项目提供了一个导出的Grafana仪表盘文件GrafanaDash-SpeedTests.json,方便用户导入Grafana进行数据展示。
!Grafana仪表盘
所有配置通过环境变量实现,以下是可用变量及默认值:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
| NAMESPACE | None | 用于区分多实例数据的命名空间(如不同ISP连接) |
| INFLUX_DB_ADDRESS | influxdb | InfluxDB服务器地址 |
| INFLUX_DB_PORT | 8086 | InfluxDB服务器端口 |
| INFLUX_DB_USER | 空 | InfluxDB用户名 |
| INFLUX_DB_PASSWORD | 空 | InfluxDB密码 |
| INFLUX_DB_DATABASE | speedtests | 存储数据的InfluxDB数据库名 |
| INFLUX_DB_TAGS | None | 要记录的标签(逗号分隔,使用*表示所有标签) |
| SPEEDTEST_INTERVAL | 5 | 速度测试间隔(分钟,脚本会自动转换为秒) |
| SPEEDTEST_SERVER_ID | 空 | 指定测试服务器ID(从[***] |
| PING_INTERVAL | 5 | Ping测试间隔(秒) |
| PING_TARGETS | 1.1.1.1, 8.8.8.8 | Ping目标主机(逗号分隔的IP或域名) |
INFLUX_DB_TAGS=isp,interface,external_ipOokla Speedtest提供以下标签数据,可通过INFLUX_DB_TAGS指定需要记录的标签:
| 标签名称 | 描述 |
|---|---|
| isp | 网络连接的ISP(互联网服务提供商) |
| interface | 设备使用的网络接口 |
| internal_ip | 容器或设备的内部IP地址 |
| interface_mac | 设备网络接口的MAC地址 |
| ***_enabled | 是否启用***(具体含义不明确) |
| external_ip | 设备的公网IP地址 |
| server_id | 用于测试的Speedtest服务器ID |
| server_name | 测试服务器名称 |
| server_country | 测试服务器所在国家 |
| server_location | 测试服务器所在位置 |
| server_host | 测试服务器主机名 |
| server_port | 测试服务器使用的端口 |
| server_ip | 测试服务器的IP地址 |
| speedtest_id | 速度测试结果ID(可用于在Speedtest网站查看结果) |
| speedtest_url | 测试结果的网页链接(与Speedtest网站测试结果格式相同) |
脚本会自动接受Ookla的许可协议和GDPR声明以实现非交互式运行。使用前请确保您同意这些条款。
1. 构建镜像
bashdocker build -t qlustor/speedtest_ookla-to-influxdb ./
2. 运行容器
bashdocker run -d -t --name speedflux \ -e 'NAMESPACE'='None' \ -e 'INFLUX_DB_ADDRESS'='influxdb' \ -e 'INFLUX_DB_PORT'='8086' \ -e 'INFLUX_DB_USER'='_influx_user_' \ -e 'INFLUX_DB_PASSWORD'='_influx_pass_' \ -e 'INFLUX_DB_DATABASE'='speedtests' \ -e 'SPEEDTEST_INTERVAL'='5' \ -e 'SPEEDTEST_SERVER_ID'='12746' \ qlustor/speedtest_ookla-to-influxdb
INFLUX_DB_ADDRESS替换为实际的InfluxDB服务器地址SPEEDTEST_INTERVAL调整测试频率(默认5分钟)SPEEDTEST_SERVER_ID设置(从Speedtest服务器列表获取)INFLUX_DB_TAGS可自定义记录的标签数据,使用*表示记录所有标签本脚本基于以下项目修改而来:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务