
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
 | INFO |
DeviceManager通过Kafka发布一些消息,这些消息是设备管理操作的通知,可被任何感兴趣的组件(如IoT代理)消费。
| 事件 | 服务 | 消息类型 |
|---|---|---|
| 设备创建 | dojot.device-manager.device | 创建消息 |
| 设备更新 | dojot.device-manager.device | 更新消息 |
| 设备删除 | dojot.device-manager.device | 删除消息 |
| 设备驱动 | dojot.device-manager.device | 驱动消息 |
| 模板更新 | dojot.device-manager.device | 模板更新消息 |
Docker镜像可从DockerHub拉取:https://hub.docker.com/r/dojot/device-manager
如果需要将DeviceManager作为独立进程运行(不使用dojot的https://github.com/dojot/docker-compose%EF%BC%89%EF%BC%8C%E5%BB%BA%E8%AE%AE%E4%BD%BF%E7%94%A8%60local/compose.yml%60%E4%B8%8B%E7%9A%84%E6%9C%80%E5%B0%8F%E5%8C%96compose%E6%96%87%E4%BB%B6%EF%BC%8C%E8%AF%A5%E6%96%87%E4%BB%B6%E4%BB%85%E5%8C%85%E5%90%ABDeviceManager%E5%AE%9E%E7%8E%B0%E5%8A%9F%E8%83%BD%E6%89%80%E9%9C%80%E7%9A%84%E5%A4%96%E9%83%A8%E7%B3%BB%E7%BB%9F%EF%BC%88Postgres%E5%92%8CKafka%EF%BC%89%E3%80%82%E8%A6%81%E5%90%AF%E5%8A%A8%E6%AD%A4%E6%9C%80%E5%B0%8F%E5%8C%96%E7%8E%AF%E5%A2%83%EF%BC%8C%E8%AF%B7%E6%89%A7%E8%A1%8C%EF%BC%9A
shell# 启动远程依赖的本地副本 docker-compose -f local/compose.yml -p devm up -d # 构建devm容器(可能需要一段时间) docker build -f Dockerfile -t local/devicemanager . # 手动运行devm,使用刚创建的基础设施 # 必须传递加密环境变量才能运行 docker run --rm -it --network devm_default -e DEV_MNGR_CRYPTO_PASS=${CRYPTO_PASS} -e DEV_MNGR_CRYPTO_IV=${CRYPTO_IV} -e DEV_MNGR_CRYPTO_SALT=${CRYPTO_SALT} local/devicemanager # 示例: # docker run --rm -it --network devm_default -e DEV_MNGR_CRYPTO_PASS='kamehameHA' -e DEV_MNGR_CRYPTO_IV=1234567890123456 -e DEV_MNGR_CRYPTO_SALT='shuriken' local/devicemanager # 按^C将终止device-manager进程和容器
如果确实需要在本地直接运行(不使用Docker),可执行以下命令(与容器中运行的命令相同,可查看docker/entrypoint.sh和Dockerfile):
shell# 本地安装依赖项(可能需要一段时间) python setup.py develop export DBHOST="Postgres的IP/主机名" export KAFKA_HOST="Kafka的IP/主机名" docker/waitForDb.py gunicorn DeviceManager.main:app -k gevent --logfile - --access-logfile -
注意,所有外部基础设施(Kafka和Postgres)仍需启动并运行。至少请记住将上述两个环境变量配置为实际值(特别是当它们都为localhost时)。
需要注意的是,运行独立的DeviceManager实例会缺少许多安全检查(如用户身份检查、适当的多租户验证等)。特别是,发送到DeviceManager的每个请求都需要访问令牌,该令牌应从https://github.com/dojot/auth%E7%BB%84%E4%BB%B6%E8%8E%B7%E5%8F%96%E3%80%82%E5%9C%A8%E6%9C%ACREADME%E7%9A%84%E7%A4%BA%E4%BE%8B%E4%B8%AD%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E8%87%AA%E8%A1%8C%E7%94%9F%E6%88%90%E4%BB%A4%E7%89%8C%EF%BC%88%E7%9B%AE%E5%89%8DDeviceManager%E4%B8%8D%E6%A3%80%E6%9F%A5%E4%BB%A4%E7%89%8C%E5%AF%B9%E7%94%A8%E6%88%B7%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88 - 它们由auth和API网关验证),但随着DeviceManager中实施更严格的令牌检查,此方法将来可能无法使用。
有关如何使用DeviceManager的示例,请参见Device Manager Documentation。
DeviceManager的API文档链接:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






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