
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
获取帮助的途径:
Warp 10平台代码库: https://github.com/senx/warp10-platform
Warp 10 Docker代码库: https://github.com/senx/warp10-docker
维护方: SenX
观看Warp 10介绍视频
Warp 10平台旨在收集、存储和处理传感器数据。传感器数据以测量序列(也称为时间序列)的形式摄入。Warp 10平台能够为每个测量添加空间元数据,指定测量时传感器的地理坐标和/或海拔。这些增强的测量形成了我们所说的地理时间序列(GTS)。
搭建Warp 10平台最简单的方式是使用https://www.docker.com/%E3%80%82%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8F%E5%8F%AF%E5%9C%A8https://hub.docker.com/r/warp10io/warp10%E8%8E%B7%E5%8F%96%EF%BC%8C%E5%8C%85%E5%90%AB%EF%BC%9A
启动镜像时绑定外部端口8080(用于Warp 10)和8081(用于WarpStudio):
bashdocker run -d -p 8080:8080 -p 8081:8081 docker.xuanyuan.run/warp10io/warp10:<tag>
其中<tag>指定您需要的Warp 10版本。
Docker容器易于删除。如果删除容器实例,Warp 10的存储和配置将丢失。您可能需要将卷映射到容器的/data目录。
bashdocker run -d -p 8080:8080 -p 8081:8081 --volume=mydata:/data docker.xuanyuan.run/warp10io/warp10:<tag>
在此示例中,Docker卷mydata挂载到容器内部的数据目录/data。如果卷不存在,将自动创建。建议使用Docker卷而非绑定挂载。
必须在所有其他Warp 10镜像的docker命令中使用相同的--volume选项。
可添加-e FLAVOR=in-memory启动内存模式的Warp 10实例。默认情况下,它将保留最近48小时的数据,此配置可调整。
bashdocker run -d -p 8080:8080 -p 8081:8081 -e FLAVOR=in-memory docker.xuanyuan.run/warp10io/warp10:<tag>
默认情况下,Sensision收集实例使用指标(如GTS数量、函数调用次数等)并存储在Warp 10实例中,以便监控使用情况。
可添加-e NO_SENSISION=true禁用此行为:
bashdocker run -d -p 8080:8080 -p 8081:8081 -e NO_SENSISION=true docker.xuanyuan.run/warp10io/warp10:<tag>
可通过环境变量设置JVM堆大小:
默认配置为WARP10_HEAP=1g和WARP10_HEAP_MAX=1g。
bashdocker run -d -p 8080:8080 -p 8081:8081 -e WARP10_HEAP=8g -e WARP10_HEAP_MAX=8g docker.xuanyuan.run/warp10io/warp10:<tag>
Docker Hub提供带有ci后缀的“持续集成”版本。
此版本包含一对预生成的读写令牌,分别名为readTokenCI和writeTokenCI。
示例:
bashcurl -v -H 'X-Warp10-Token: writeTokenCI' --data-binary "1// test{} 42" 'http://127.0.0.1:8080/api/v0/update'
bash[ 'readTokenCI' '~.*' {} NOW -1 ] FETCH // 获取所有GTS的最后一个数据点
Warp 10平台采用健壮的安全模型,允许您严格控制谁有权写入和/或读取数据。该模型围绕概念构建:数据生产者、数据所有者、应用以及写入(WRITE)和读取(READ)令牌。
ci版本包含一对预生成的读写令牌,分别为readTokenCI和writeTokenCI。这些令牌位于predictible-tokens-for-ci/ci.tokens文件中。
对于其他版本,您需要为测试用户(同时作为数据的生产者和所有者)的测试应用生成写入和读取令牌。要与用户/令牌/应用系统交互,需要通过Warp 10的TokenGen组件进行交互。
创建envelope文件并根据需求调整,示例如下:
warpscript'myapp' 'applicationName' STORE NOW 1 ADDYEARS 'expiryDate' STORE UUID 'ownerAndProducer' STORE { 'id' 'TokenRead' 'type' 'READ' 'application' $applicationName 'owner' $ownerAndProducer 'issuance' NOW 'expiry' $expiryDate 'labels' { } 'attributes' { } 'owners' [ $ownerAndProducer ] 'producers' [ $ownerAndProducer ] 'applications' [ $applicationName ] } TOKENGEN { 'id' 'TokenWrite' 'type' 'WRITE' 'application' $applicationName 'owner' $ownerAndProducer 'producer' $ownerAndProducer 'issuance' NOW 'expiry' $expiryDate 'labels' { } 'attributes' { } } TOKENGEN
bashdocker exec -i <container_id> warp10-standalone.sh tokengen - < envelope.mc2
bashdocker exec -i 77426631869b warp10-standalone.sh tokengen - < envelope.mc2 | jq 2023-01-23T13:54:30,594 main WARN script.WarpFleetMacroRepository - No validator macro, default macro will reject all URLs. [ { "ident": "60c9181d536a029e", "id": "TokenWrite", "token": "H.dqA7BMoH0uVfrHK7QRlKgjQLXWGfMC0jTJZqImmeoaS15rp5LkyxnOXhp2ni3gmAtEyokdU88efOKHc_B2frXjlhUH3HBZRZv6bCHYLsPUJGlgvO2hQV" }, { "ident": "b0d69f77c2596974", "id": "TokenRead", "token": "WZ2CmZtSG9wfcdHEb2r2ePHkZGF7Cd8W1PzWQ5o_1azarQS3KdO9q2VxFMQ.3mk1o1OHxdKfXERQWcNlJCgRWs0exZUZdAwSqw0rp.KD1sNDJSbkXDS0_wPivLc.yi_Qdsm5kgz1fp0rgJIWylL3_." } ]
要测试运行中的容器,使用写入令牌向平台推送包含一个数据点的单个GTS。
bashcurl -v -H 'X-Warp10-Token: 写入令牌' --data-binary "1// test{} 42" 'http://127.0.0.1:8080/api/v0/update'
您应收到HTTP 200响应。
在Mac OS或Windows上使用Docker时,Warp 10 API地址与主机之间没有绑定(Docker通过虚拟机运行)。要访问Warp 10,需将127.0.0.1替换为容器的实际IP地址。可使用
docker-machine ip default获取,容器地址也会显示在容器的“设置/端口”页面。如果使用容器与主机之间的共享卷,可通过docker-machine ssh default访问虚拟机,并检查/var/warp10目录。有关详细信息,请查阅https://docs.docker.com/machine/%E3%80%82
使用读取令牌获取数据:
bashcurl -v --data-binary "[ '读取令牌' 'test' {} NOW -1 ] FETCH" 'http://127.0.0.1:8080/api/v0/exec'
您应收到包含JSON格式数据点的HTTP 200 OK响应。
完整的入门指南可帮助您开始使用Warp 10。
Warp 10的WarpStudio是一个Web应用,旨在让用户以友好的方式与平台交互,提供命令行交互的替代方案。
您刚安装的Docker镜像中打包了独立版本的WarpStudio,监听8081端口。在Linux系统(Warp 10 API地址与主机绑定)中,可通过
127.0.0.1:8081访问WarpStudio。在macOS或Windows上,Warp 10 API地址与主机无绑定,需将127.0.0.1替换为容器的实际IP地址(如前一节所述)。
在Docker中配置Warp 10有多种方式,以下方法均可添加或替换现有配置:
将/config.extra目录用于添加额外配置文件(可添加多个):
bashdocker run -d -p 8080:8080 -p 8081:8081 -v /custom/99-custom.conf:/config.extra/99-custom.conf docker.xuanyuan.run/warp10io/warp10:<tag>
bashdocker run -d -p 8080:8080 -p 8081:8081 -e warpscript.maxops=100000 -e warpscript.maxfetch=1000000 docker.xuanyuan.run/warp10io/warp10:<tag>
bashdocker run -d -p 8080:8080 -p 8081:8081 --env-file=./myconf.env docker.xuanyuan.run/warp10io/warp10:<tag>
可混合使用以上方法,以下是docker-compose示例:
yamlservices: warp10: image: docker.xuanyuan.run/warp10io/warp10:<tag> volumes: - warp10_data:/data - /var/warp10/99-custom.conf:/config.extra/99-custom.conf ports: - '8080:8080' - '8081:8081' environment: - warpscript.maxops=100000 - warpscript.maxfetch=1000000 env_file: custom.env volumes: warp10_data:
如需构建自己的Warp 10镜像,克隆Warp 10 Docker仓库:
bashgit clone https://github.com/senx/warp10-docker.git
在本地副本中执行docker build:
bashcd warp10-docker docker build -t myrepo/warp10:x.y.z -f ubuntu/Dockerfile .
在此示例中,容器内部数据目录/data绑定到本地目录/var/warp10。
必须在所有其他Warp 10镜像的docker命令中使用相同的--volume选项。
首先,您需要安装https://docs.docker.com/docker-for-windows/install/#start-docker-for-windows%EF%BC%8C%E5%8F%AF%E9%80%89%E5%AE%89%E8%A3%85DockStation%E3%80%82
bashdocker run --volume=c:\\warp10:/data -p 8080:8080 -p 8081:8081 -d -i docker.xuanyuan.run/warp10io/warp10:<tag>
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务