- 引言
- 实现
- 安装docker
- ros2 image from dockerhub
- 启动ros2 bash
- 总结
本文用来记录如何在raspberry 3B上搭建起ros2的docker开发环境。
实现 安装docker参考如何建立并使用docker
ros2 image from dockerhub本想建立foxy的docker container 但是由于image不支持arm v7所以改用ros2 Eloquent Elusor
ros2 所有历史版本链接,拉image方法如下所示1:
sudo docker pull ros:eloquent ======================================= eloquent: Pulling from library/ros c61ae1d5a395: Pull complete efaa8fe9a238: Pull complete f07c60aae226: Pull complete d935c6c5648a: Pull complete 6ced11f60bd4: Pull complete 726417b7cadc: Pull complete e39a0556c865: Pull complete eced7a362477: Pull complete 1523438a4fb8: Pull complete 6e093b11ddd1: Pull complete a8798cae8c98: Pull complete b8ec2d7ab7bd: Pull complete fdf1b7fb9968: Pull complete Digest: sha256:4e05251eba35f0df11f8ac5eb33e97a073b55c8e694f883b3ebce09879127235 Status: Downloaded newer image for ros:eloquent docker.io/library/ros:eloquent启动ros2 bash
sudo docker run -it ros:eloquent /bin/bash #这里应该已经进入了docker中,使用下边命令可以再次确认 ================================================== root@5c3699c0f05d:/# ros2 -h usage: ros2 [-h] Call `ros2-h` for more detailed usage. ... ros2 is an extensible command-line tool for ROS 2. optional arguments: -h, --help show this help message and exit Commands: action Various action related sub-commands component Various component related sub-commands daemon Various daemon related sub-commands doctor Check ROS setup and other potential issues interface Show information about ROS interfaces launch Run a launch file lifecycle Various lifecycle related sub-commands msg Various msg related sub-commands multicast Various multicast related sub-commands node Various node related sub-commands param Various param related sub-commands pkg Various package related sub-commands run Run a package specific executable security Various security related sub-commands service Various service related sub-commands srv Various srv related sub-commands topic Various topic related sub-commands wtf Use `wtf` as alias to `doctor` Call `ros2 -h` for more detailed usage.
新启一个命令窗口输入:
pi@raspberrypi:~ $ sudo docker ps -a ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5c3699c0f05d ros:eloquent "/ros_entrypoint.sh …" 2 minutes ago Up 2 minutes stupefied_heyrovsky
如果不是第一次进入该docker,需要source ros的目录
root@5c3699c0f05d:/# source /opt/ros/eloquent/setup.bash总结
这篇文章主要讲了如何新建一个简单的ros2 image,成功建立一个container并且在其中运行了bash。后续会在此基础上,通过配置文档搭建稳定的ros2 docker开发环境。
Can you install Noetic with Docker on a Raspberry Pi? ↩︎



