本仓库包含Docker相关材料,旨在设置、配置和开发基于https://microros.github.io/%E7%9A%84%E5%BA%94%E7%94%A8%E3%80%82
这套Dockerfile提供即用型环境,可轻松在主机上执行micro-ROS示例,以及使用独立的https://github.com/micro-ROS/micro_ros_setup%E3%80%82%E6%AD%A4%E5%A4%96%EF%BC%8C%E8%BF%98%E6%8F%90%E4%BE%9B%E4%B8%A4%E4%B8%AA%E9%95%9C%E5%83%8F%EF%BC%8C%E5%85%81%E8%AE%B8%E5%B0%86micro-ROS%E7%94%A8%E4%BD%9C%E5%A4%96%E9%83%A8%E5%BA%93%EF%BC%8C%E5%88%86%E5%88%AB%E9%80%82%E7%94%A8%E4%BA%8Ehttps://github.com/micro-ROS/micro_ros_espidf_component/tree/foxy/docker%E5%92%8Chttps://github.com/micro-ROS/micro_ros_arduino/tree/foxy/extras/library_generation%E3%80%82
Docker镜像可在https://hub.docker.com/u/microros%E8%8E%B7%E5%8F%96%E3%80%82
| 镜像 | 描述 | 状态 |
|---|---|---|
| base | 包含ROS 2 Foxy安装和micro-ROS特定构建系统工具的基础镜像,用作其他micro-ROS镜像的基础 | 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 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 microros/micro-ros-demos bash
当前可用示例列表见https://github.com/micro-ROS/micro-ROS-demos/rclc%E3%80%82
micro-ros-olimex-nuttx(未维护)
包含适用于Olimex-STM32-E407开发板的可直接烧录固件(含演示程序)。需映射设备到容器以进行烧录:
bash# 示例:运行并映射USB设备 docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb 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 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 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%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务