运用docker到ros2工程

此方法制作的镜像可以直接在docker容器的伪终端对ros2工程进行命令行操作,从而运行工程。

基础知识:

登陆镜像仓库

sudo docker login

退出镜像仓库

sudo docker logout

查看镜像

sudo docker images

删除镜像

sudo docker rmi 镜像ID

查看容器ID

sudo docker ps

退出容器

sudo docker container stop 容器ID

删除容器

sudo docker rm 容器ID

实际操作:

1.安装docker,推荐小鱼的一键安装

wget http://fishros.com/install -O fishros && . fishros

2.拉取ros2镜像,笔者使用的是官方提供的foxy镜像

sudo docker pull --platform amd64 ros:foxy

3.打开终端,创建容器,-t选项让Docker分配一个伪终端并绑定到容器的标准输入上,-i则让容器的标准输入保持打开

sudo docker run  -t -i  --name=ros_container ros:foxy  /bin/bash

4.打开伪终端,在容器的伪终端设置环境变量

扫描二维码关注公众号,回复: 14842960 查看本文章
source /opt/ros/foxy/setup.bash
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc 

5.打开伪终端,在容器伪终端创建放置工程源代码的路径

mkdir -p /home/project_ws/src

6.打开终端,复制工程到容器目录中

sudo docker cp /home/liusipei/project_ws/src/fs 容器ID:/home/project_ws/src

7.打开伪终端,进入容器内工程fs的工作空间目录

cd /home/project_ws

8.打开伪终端,编译容器目录中的工程

colcon build

9.打开伪终端,设置工程环境变量

source /home/project_ws/install/setup.bash
echo "source /home/project_ws/install/setup.bash" >> ~/.bashrc 

10.打开终端,提交生成ros_project_image镜像

sudo docker commit 容器ID ros_project_image:v1.0

11.打开终端,将镜像上传到镜像仓库,就可以在其它电脑将ros2工程下载并直接运行了

sudo docker push 仓库名/ros_project_image:v1.0

猜你喜欢

转载自blog.csdn.net/weixin_45485619/article/details/127531586