前言
通过 Docker 安装 ROS 可以无视系统版本支持的限制(例如 Ubuntu 22.04 默认只支持 ROS2,不支持 ROS1),并能实现多个 ROS 版本的共存与隔离。
本教程将详细介绍如何通过 Docker 安装 ROS,并对关键参数进行说明。建议先了解 Docker 的基本使用方法。
一、安装 Docker
建议使用官方或社区提供的脚本安装 Docker,注意确保安装了 Docker 显卡驱动,以便在容器中使用 GPU。
二、拉取 ROS 镜像
sudo docker pull osrf/ros:noetic-desktop-full
本教程以 ROS Noetic 版本为例,其他版本需更换对应的镜像名称。ROS 镜像命名通常为 osrf/ros:版本号-desktop-full。
常用版本示例:
osrf/ros:melodic-desktop- ROS Melodic 桌面全功能版osrf/ros:kinetic-desktop- ROS Kinetic 桌面全功能版osrf/ros:humble-desktop- ROS2 Humble 桌面全功能版osrf/ros:foxy-desktop- ROS2 Foxy 桌面全功能版
镜像源配置
若拉取镜像失败(如连接超时),可能需要更换国内镜像源。
方式一:使用换源脚本
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)
方式二:修改配置文件
- 编辑配置文件:
sudo nano /etc/docker/daemon.json
- 添加镜像源(请替换为可用的镜像地址):
{
"registry-mirrors": [
"https://xxxxx.cn",
"https://xxxxx.cn"
]
}
- 重启 Docker:
systemctl restart docker
三、创建 ROS 容器
3.1 使用 docker run 创建
sudo docker run -dit \
--gpus all \
-e NVIDIA_DRIVER_CAPABILITIES=all \
--name=<your_name> \
-v /dev:/dev \
-v /home/<your_username>:/home/<your_username> \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-w /home/<your_username> \
osrf/ros:noetic-desktop-full


