一系列适用于ROS 2的开发容器
收藏数: 22
下载次数: 360206
类型:

althack/ros2althack/ros2是一系列专为ROS 2开发设计的Docker镜像,旨在提供便捷、一致的开发环境,尤其适用于与VSCode集成的开发工作流。该镜像集合支持多个ROS 2版本,提供不同功能变体,并可选CUDA加速支持,满足从基础开发到仿真验证的多样化需求。
base:基础ROS 2运行环境,包含核心组件dev:增强开发工具链,包含编译器、调试器等开发必需工具full:完整版本,包含扩展组件及额外依赖gazebo:集成Gazebo仿真器,支持ROS 2仿真应用开发-cuda),适用于需要GPU加速的计算任务{镜像名称}-{年}-{月}-{日}),支持固定到特定软件包版本,确保环境一致性gazebo变体快速搭建ROS 2仿真环境,进行算法验证| ROS 2版本 | CUDA支持 | 可用变体标签 | 维护状态 |
|---|---|---|---|
| rolling | 否 | rolling-base, rolling-dev, rolling-full, rolling-gazebo | 活跃 |
| rolling | 是 | rolling-cuda-base, rolling-cuda-dev, rolling-cuda-full, rolling-cuda-gazebo | 活跃 |
| jazzy | 否 | jazzy-base, jazzy-dev, jazzy-full, jazzy-gazebo | 活跃 |
| jazzy | 是 | jazzy-cuda-base, jazzy-cuda-dev, jazzy-cuda-full, jazzy-cuda-gazebo | 活跃 |
| kilted | 否 | kilted-base, kilted-dev, kilted-full, kilted-gazebo | 活跃 |
| humble | 否 | humble-base, humble-dev, humble-full, humble-gazebo | 活跃 |
| humble | 是 | humble-cuda-base, humble-cuda-dev, humble-cuda-full, humble-cuda-gazebo | 活跃 |
| iron | 否/是 | iron-base, iron-dev, ..., iron-cuda-* | 已停止维护(EOL) |
| galactic | 否/是 | galactic-base, galactic-dev, ..., galactic-cuda-* | 已停止维护(EOL) |
| foxy | 否/是 | foxy-base, foxy-dev, ..., foxy-cuda-* | 已停止维护(EOL) |
| eloquent | 否 | eloquent-base, eloquent-dev, ... | 已停止维护(EOL) |
| dashing | 否 | dashing-base, dashing-dev, ... | 已停止维护(EOL) |
注:标记为“已停止维护(EOL)”的版本不再接收更新,建议优先使用活跃版本进行开发
所有镜像标签支持日期后缀,格式为{变体标签}-{年}-{月}-{日},例如:
rolling-dev-2024-01-15:2024年1月15日构建的rolling-dev版本humble-cuda-gazebo-2023-11-30:2023年11月30日构建的humble-cuda-gazebo版本使用docker pull命令拉取所需镜像,基本格式为:
bashdocker pull althack/ros2:<标签>
示例:
bashdocker pull althack/ros2:rolling-dev
bashdocker pull althack/ros2:jazzy-cuda-full
bashdocker pull althack/ros2:humble-gazebo-2024-03-20
启动基础ROS 2开发容器,挂载工作目录并支持交互终端:
bashdocker run -it --rm \ --name ros2-dev-container \ -v $(pwd):/workspace \ althack/ros2:rolling-dev
运行包含Gazebo的容器,需配置显示转发以支持GUI应用:
bashdocker run -it --rm \ --name ros2-gazebo-container \ -e DISPLAY=$DISPLAY \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v $(pwd):/workspace \ --net=host \ # 简化网络配置,适用于本地开发 althack/ros2:rolling-gazebo
运行带CUDA支持的容器(需主机已安装NVIDIA驱动及nvidia-docker运行时):
bashdocker run -it --rm \ --name ros2-cuda-container \ --gpus all \ # 映射所有GPU设备 -v $(pwd):/workspace \ althack/ros2:humble-cuda-dev
创建docker-compose.yml文件,定义包含Gazebo仿真环境的服务:
yamlversion: '3.8' services: ros2-gazebo: image: althack/ros2:rolling-gazebo container_name: ros2-simulation volumes: - ./workspace:/workspace - /tmp/.X11-unix:/tmp/.X11-unix environment: - DISPLAY=${DISPLAY} - QT_X11_NO_MITSHM=1 # 解决部分GUI应用共享内存问题 network_mode: host stdin_open: true tty: true
启动服务:
bashdocker-compose up -d
进入容器:
bashdocker-compose exec ros2-gazebo bash
为确保开发环境的一致性,建议使用带日期标签的镜像版本。例如,指定2024年5月10日构建的rolling-dev镜像:
bashdocker pull althack/ros2:rolling-dev-2024-05-10
在Docker Compose中指定固定版本:
yamlservices: ros2-dev: image: althack/ros2:rolling-dev-2024-05-10 # ... 其他配置
通过日期标签可避免因镜像更新导致的依赖版本变化问题,保障开发环境的稳定性。
以下是 althack/ros2 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务