如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本仓库包含Docker相关材料,旨在设置、配置和开发基于https://microros.github.io/的应用。
这套Dockerfile提供即用型环境,可轻松在主机上执行micro-ROS示例,以及使用独立的https://github.com/micro-ROS/micro_ros_setup。此外,还提供两个镜像,允许将micro-ROS用作外部库,分别适用于https://github.com/micro-ROS/micro_ros_espidf_component/tree/foxy/docker和https://github.com/micro-ROS/micro_ros_arduino/tree/foxy/extras/library_generation。
Docker镜像可在https://hub.docker.com/u/microros获取。
| 镜像 | 描述 | 状态 |
|---|---|---|
| base | 包含ROS 2 Foxy安装和micro-ROS特定构建系统工具的基础镜像,用作其他micro-ROS镜像的基础 | |
| micro-ros-agent | 包含预编译的micro-ROS-Agent,可用作独立应用 | |
| micro-ros-demos | 包含预编译的micro-ROS演示应用,可立即使用以体验micro-ROS功能 | |
| micro-ros-olimex-nuttx | 包含适用于Olimex STM32 E407的可直接烧录示例 | |
| micro_ros_arduino_builder | 允许使用预编译的micro-ROS库通过Arduino IDE开发应用 | |
| esp-idf-microros | 允许将micro-ROS用作ESP-IDF构建系统的组件 |
系统中需要安装Docker。有关Docker的安装,请参考官方文档:https://www.docker.com/。
使用docker pull命令获取镜像:
bash# 示例:拉取base镜像 docker pull docker.xuanyuan.run/microros/base
可通过在镜像名称后添加:tag选择特定标签:
bash# 示例:拉取foxy标签的base镜像 docker pull docker.xuanyuan.run/microros/base:foxy
获取本地镜像后,使用docker run启动容器。通常建议使用--rm和--net=host标志启动容器:
bash# 示例:运行micro-ros-agent容器 docker run -it --rm --net=host docker.xuanyuan.run/microros/micro-ros-agent:foxy
--rm:容器退出后自动删除--net=host:使容器与主机共享网络-it:分配伪终端并保持标准输入监听-v:映射本地文件到容器(用于从容器内烧录开发板时)base镜像
其他容器的基础镜像,包含必要的micro-ROS设置工具和依赖项。可基于此镜像启动任何micro-ROS开发工作。
micro-ros-agent
用作独立应用的镜像,包含所选标签对应的ROS 2版本和micro-ROS Agent。镜像的入口点直接是micro-ROS Agent,执行docker run后将进入micro-ROS Agent命令行输入。
bash# 示例:启动UDP4监听端口9999的micro-ROS Agent docker run -it --net=host docker.xuanyuan.run/microros/micro-ros-agent:foxy udp4 -p 9999
micro-ros-demos
示例镜像,可启动基于Linux机器编译的micro-ROS示例应用。镜像入口点已配置包含micro-ROS示例的ROS 2环境,可使用常规ROS 2工具启动示例。
bash# 示例:进入micro-ros-demos容器的bash终端 docker run -it --net=host docker.xuanyuan.run/microros/micro-ros-demos bash
当前可用示例列表见https://github.com/micro-ROS/micro-ROS-demos/rclc。
micro-ros-olimex-nuttx(未维护)
包含适用于Olimex-STM32-E407开发板的可直接烧录固件(含演示程序)。需映射设备到容器以进行烧录:
bash# 示例:运行并映射USB设备 docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb docker.xuanyuan.run/microros/micro-ros-olimex-nuttx:foxy
进入容器后,在firmware/NuttX目录执行scripts/flash.sh烧录开发板。示例包含发布者和订阅者,通过串口传输与micro-ROS Agent通信,需启动相同传输方式的Agent(可使用micro-ros-agent镜像)。
micro_ros_arduino_builder
提供预编译的micro-ROS库,用于通过Arduino IDE开发应用。使用以下命令实例化容器:
bash# 示例:运行并映射本地项目目录 docker run -it -v $(pwd):/arduino_project --net=host docker.xuanyuan.run/microros/micro_ros_arduino_builder:foxy
extras/library_generation/extra_packages目录中的文件和extras/library_generation/extra_packages/extra_packages.repos中的条目将被构建系统考虑。
esp-idf-microros
允许将micro-ROS用作ESP-IDF构建系统的组件。使用方法:
bash# 示例:运行并映射本地目录和设备 docker run -it --user espidf --volume="/etc/timezone:/etc/timezone:ro" -v $(pwd):/micro_ros_espidf_component -v /dev:/dev --privileged --workdir /micro_ros_espidf_component docker.xuanyuan.run/microros/esp-idf-microros:latest /bin/bash
进入容器后,导航到示例应用目录,使用ESP IDF构建工具脚本idf.py进行配置、构建、烧录或监控:
bash# 示例:配置、构建、烧录和监控 idf.py menuconfig idf.py build idf.py flash idf.py monitor
这些Dockerfile用于在Docker Hub自动创建镜像,标签对应兼容的ROS 2版本(如dashing、foxy等),latest标签对应最新ROS 2版本。
| 镜像 | 触发源 |
|---|---|
| base | https://github.com/micro-ROS/micro-ROS-build |
| micro-ros-agent | https://github.com/micro-ROS/micro-ROS-Agent https://github.com/eProsima/Micro-XRCE-DDS-Agent |
| micro-ros-demos | https://github.com/micro-ROS/micro-ROS-demos |
| micro_ros_arduino_builder | https://github.com/micro-ROS/micro_ros_arduino |
| esp-idf-microros | https://github.com/micro-ROS/micro_ros_espidf_component |
除GitHub仓库变更外,当Docker Hub上的基础镜像更新时(通过Dockerfile中的FROM:指令指定),也会触发构建。
本软件尚未准备好生产使用,未针对特定用例开发或测试。但根据适用开源许可证,您可根据需求修改软件。在安全相关场景使用前,请确保软件满足需求,并根据适用安全标准(如ISO 26262)进行调整。
本仓库采用Apache-2.0许可证开源。详情参见LICENSE文件。
关于本仓库中包含的其他开源组件列表,参见3rd-party-licenses.txt文件。
无已知限制。如发现问题,请https://github.com/micro-ROS/micro_ros_setup/issues。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务