1. 准备Dockerfile
首先,创建一个Dockerfile,它将定义你的Docker镜像内容。以下是一个示例Dockerfile,用于安装ROS Noetic(适用于Ubuntu 20.04):
# 使用Ubuntu 20.04作为基础镜像
FROM ubuntu:20.04
# 防止在非交互模式下的TZ数据错误
ARG DEBIAN_FRONTEND=noninteractive
# 更新并安装基本工具
RUN apt-get update && apt-get install -y \
lsb-release \
gnupg2 \
curl \
&& rm -rf /var/lib/apt/lists/*
# 添加ROS Noetic的源
RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-noetic.list'
# 添加ROS key
RUN curl -sSL 'http://packages.ros.org/ros.key' | apt-key add -
# 安装ROS Noetic Desktop-Full
RUN apt-get update && apt-get install -y \
ros-noetic-desktop-full \
&& rm -rf /var/lib/apt/lists/*
# 初始化rosdep
RUN apt-get update && apt-get install -y \
python3-rosdep \
&& rm -rf /var/lib/apt/lists/* \
&& rosdep init && rosdep update
# 设置环境变量
RUN echo "source /opt/ros/noetic/setup.bash" >> /etc/bash.bashrc
# 安装其他常用工具
RUN apt-get update && apt-get install -y \
python3-rosinstall \
python3-rosinstall-generator \
python3-wstool \
build-essential \
&& rm -rf /var/lib/apt/lists/*
# 设置默认工作目录
WORKDIR /root
# 运行bash
CMD ["bash"]
2. 构建Docker镜像
在包含上述Dockerfile的目录中,运行以下命令以构建Docker镜像:
docker build -t ros:noetic .
3. 运行Docker容器
使用刚才构建的镜像来运行一个新的Docker容器:
docker run -it --name my_ros_container ros:noetic
4. 验证安装
进入容器后,可以运行以下命令来验证ROS是否安装成功:
source /opt/ros/noetic/setup.bash
roscore
如果看到ROS核心成功启动的消息,则说明安装成功。