Robotics DocsV1.0
返回 REACH ONE 系列

入门与环境 / 系列文档 01

用 Docker 固化 ROS 2 环境

把依赖、设备访问和运行入口固定下来,减少不同机器之间的环境差异。

更新于 2026-08-037 分钟
  • Docker
  • ROS 2
  • 部署

先定义容器边界

容器用于固定软件环境,不应隐藏硬件依赖。需要明确设备、网络、图形界面和实时性要求,再决定哪些节点进入容器。

  • 算法和工具节点适合优先容器化。
  • 设备节点需要显式声明串口、USB 或 GPU 访问。
  • 需要低延迟通信时,先验证 DDS 与宿主网络模式。

最小镜像结构

Dockerfiledockerfile
FROM ros:jazzy-ros-base
WORKDIR /robot_ws
COPY src ./src
RUN . /opt/ros/jazzy/setup.sh && \
    rosdep install --from-paths src -yi && \
    colcon build --merge-install
CMD ["bash", "-lc", "source install/setup.bash && ros2 launch robot_bringup system.launch.py"]

运行时约定

镜像保持只读,参数、日志和数据通过挂载进入。机器人型号、ROS_DOMAIN_ID 和运行模式使用明确环境变量配置。