
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://hub.docker.com/r/machbase/machbase 是全球最快的IoT时序数据库,采用C++实现。machbase-neo是一款IoT数据库服务器,嵌入了Machbase引擎,提供MQTT和HTTP API等必要且便捷的功能,用于构建IoT平台。它可安装在从树莓派到高性能服务器的各类设备上。
linux/amd64、linux/arm64通过Docker运行Machbase Neo非常简单,按以下步骤操作。
sh$ docker run -d \ -p 5652:5652/tcp \ -p 5654:5654/tcp \ --name machbase-neo \ machbase/machbase-neo
也可以在前台运行,但这种情况下需要准备另一个终端。
sh$ docker run -it \ -p 5652:5652/tcp \ -p 5654:5654/tcp \ --name machbase-neo \ machbase/machbase-neo
两种方式都会自动启动machbase-neo。
直接访问Machbase Neo Shell:
sh$ docker exec -it machbase-neo /opt/machbase-neo shell
也可通过SSH访问:
SYSmanagersh$ ssh -p 5652 sys@127.0.0.1 sys@127.0.0.1's password: manager
出现machbase-neo»提示符后,用户可使用SQL语句进行查询:
shmachbase-neo» create tag table example (name varchar(20) primary key, time datetime basetime, value double summarized); executed. machbase-neo» show tables; ┌────────────────────────────────┐ │ ROWNUM │ DB │ USER │ NAME │ TYPE │ ├────────────────────────────── │ 1 │ MACHBASEDB │ SYS │ EXAMPLE │ Tag Table │ └────────────────────────────────┘
连接machbase-neo shell前,需生成SSH密钥:
sh$ ssh-keygen -t rsa
创建SSH密钥后,在不同环境中运行machbase-neo:
sh$ docker pull machbase/machbase-neo $ docker run -d \ -p 5652-5656:5652-5656/tcp \ --name machbase-neo \ machbase/machbase-neo
默认情况下,每次通过SSH连接都需要输入密码。但通过在machbase-neo shell中注册密钥,可设置为只需输入一次密码:
sh$ ssh -l sys -p 5652 192.168.0.116 ssh-key add `cat ~/.ssh/id_rsa.pub` sys@192.168.0.116's password? manager Add sshkey success
之后无需每次输入密码即可访问。
示例
sh$ ssh -l sys -p 5652 192.168.0.116 'create table example (v1 int)'; executed. $ ssh -l sys -p 5652 192.168.0.116 'show tables'; ┌────────────────────────────────┐ │ ROWNUM │ DB │ USER │ NAME │ TYPE │ ├────────────────────────────────┤ │ 1 │ MACHBASEDB │ SYS │ EXAMPLE │ Log Table │ └────────────────────────────────┘
如果映射了容器的5654端口,可访问以下网站:
该网站提供多种功能,详情点击此处。
此外,可使用HTTP直接向数据库发送查询:
sh$ curl -o - http://127.0.0.1:5654/db/query \ --data-urlencode \ "q=drop table example"
如需使用更多API或SQL,点击此处。
可将Docker中machbase-neo的主路径与主机目录绑定:
shdocker run -d \ -v /path/to/host/data:/data \ -v /path/to/host/file:/file \ machbase/machbase-neo
/data:Docker中machbase-neo的主路径/file:Docker中machbase-neo的tql路径-v/--volume:绑定挂载卷即使Docker停止,挂载卷的主机目录仍会保留。
Machbase-neo在Docker中暴露多个端口:
| 端口 | 描述 |
|---|---|
| 5652 | sshd |
| 5653 | mqtt |
| 5654 | http |
| 5655 | grpc |
| 5656 | 数据库引擎 |
运行machbase-neo容器时,可按如下方式将主机端口映射到容器端口:
sh$ docker run -d \ -p 5652:5652 \ -p 5653:5653 \ -p 5654:5654 \ -p 5655:5655 \ -p 5656:5656 \ --name machbase-neo \ machbase/machbase-neo
此配置下,所有发送到主机端口的请求都会转发到容器端口。
将以下内容保存为docker-compose.yml并放在项目根目录:
yml# docker-compose.yml version: '3' services: machbase-neo: image: machbase/machbase-neo container_name: machbase-neo hostname: machbase volumes: - /data:/data - /file:/file ports: - "5652:5652" # sshd - "5653:5653" # mqtt - "5654:5654" # http - "5655:5655" # grpc - "5656:5656" # database engine
在项目根目录执行:
sh$ docker compose up -d
或:
sh$ docker compose -f docker-compose.yml up -d
如需关闭Docker Compose:
sh$ docker compose down
所有服务将优雅关闭。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务