docker安装ros2
时间: 2025-01-15 12:53:27 浏览: 82
### 如何在Docker容器中安装ROS 2
#### 准备工作
确保已移除旧版本的Docker组件,这一步骤对于防止兼容性问题是必要的[^2]。接着更新系统的包索引并准备安装所需的工具如`sudo`, `vim`, `lsb-core`, `python-pip`以及`python3-pip`,这些工具将在后续过程中起到辅助作用[^5]。
#### 添加ROS 2仓库至APT源列表
通过执行特定命令将官方ROS 2存储库加入到系统的APT源列表里,以便能够顺利获取最新的ROS 2发行版及相关依赖项:
```bash
sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
```
此操作使得系统可以从指定地址下载适用于当前Linux发行版的ROS 2软件包[^3]。
#### 创建与配置Docker镜像
为了简化流程,在创建Docker容器之前应当构建一个自定义的基础镜像文件(Dockerfile),其中包含了预设好的环境变量和指令用于自动化部署过程。下面是一个简单的例子来说明如何编写这样的脚本:
```dockerfile
FROM ubuntu:focal
# 设置环境变量以避免交互式配置对话框
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y curl gnupg2 lsb-release ca-certificates software-properties-common
# 导入ROS GPG密钥并添加ROS 2 APT仓库
RUN curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | gpg --dearmor | tee /usr/share/keyrings/ros-archive-keyring.gpg > /dev/null && \
echo "deb [signed-by=/usr/share/keyrings/ros-archive-keyring.gpg arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null
# 更新APT缓存并安装ROS 2 Humble Desktop Full variant
RUN apt-get update && \
apt-get install -y ros-humble-desktop-full
# 初始化rosdep数据库
RUN rosdep init && \
rosdep update
# 配置shell环境
RUN echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
CMD ["bash"]
```
这段代码展示了怎样基于Ubuntu Focal作为基础层,并在其之上叠加一系列命令完成ROS 2环境搭建的工作。值得注意的是,这里选择了Humble分支作为目标版本;如果有其他需求,则可以根据实际情况调整对应的包名。
#### 构建与启动Docker容器
保存上述Dockerfile之后即可利用Docker CLI工具对其进行编译处理,进而得到包含完整ROS 2开发套件的新映像。随后便能以此为基础快速生成新的容器实例供实验之用:
```bash
docker build -t my_ros2_image .
docker run -it --name=my_ros2_container my_ros2_image bash
```
一旦进入新建立起来的容器内部就可以立即体验到预先设定好一切所带来的便利之处了——无需再单独经历繁琐的手动设置环节就能立刻着手开展项目研发活动。
阅读全文
相关推荐

















