运用docker到ros2工程

2023-05-16

此方法制作的镜像可以直接在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.打开伪终端,在容器的伪终端设置环境变量

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运用docker到ros2工程 的相关文章

随机推荐

  • SVN st 命令信息说明

    未指定参数时 xff0c 只显示本地修改的条目 没有网络访问 使用 q 时 xff0c 只显示本地修改条目的摘要信息 使用 u 时 xff0c 增加工作版本和服务器上版本过期信息 使用 v 时 xff0c 显示每个条目的完整版本信息 输出的
  • 深度学习中常用的优化算法

    机器学习几乎所有的算法都要利用损失函数 lossfunction 来检验算法模型的优劣 xff0c 同时利用损失函数来提升算法模型 而这个提升的过程就叫做优化 Optimizer 下面的内容就是记录一下在深度学习中常用到的几种优化算法 xf
  • ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro

    xxx 64 xxx span class token punctuation span span class token operator span span class token operator span autoware span
  • Realsense D435i录制rosbag后提取jpeg图像

    Realsense D435i录制rosbag后提取jpeg图像 启动相机录制rosbag提取图像 启动相机 roslaunch realsense2 camera rs camera span class token punctuatio
  • 网络现代化势在必行,VMware 发布软件定义网络 SD-WAN 全新方案

    出品 CSDN云计算 作为计算存储网络基础设施三大件之一 xff0c 网络一直是 IT 核心技术 xff0c 并不断向前发展 数字化转型浪潮下 xff0c 各行业都在探索创新应用 xff0c 而数字化创新 xff0c 也是对 5G 和云边端
  • MySQL数据库(一)服务器数据库的搭建和远程访问

    服务器数据库的搭建和远程访问 本文主要针对本人在NB IoT项目中有关数据库的开发和使用 xff0c 进行一些粗浅的学习指导 欢迎大家在评论区批评指正 xff0c 感谢 xff01 文章目录 服务器数据库的搭建和远程访问 前言一 远程连接服
  • Linux学习(一)Ubuntu20.04 LTS (Focal Fossa)以及 Anaconda CUDA CuDNN PyTorch VisualStudioCode 的安装

    提示 xff1a 本文基于 Ubuntu 20 04 LTS xff08 Focal Fossa xff09 文章目录 前言一 Ubuntu系统下载 烧录与安装1 下载镜像文件2 下载启动盘制作软件3 Ubuntu系统安装4 Ubuntu2
  • Windows安装docker踩坑、远程连接Docker

    安装过程中出现一下问题 xff0c 步骤如下 菜鸟教程安装windows docker https www runoob com docker windows docker install html 启动后报错wsl2错误 xff0c 因为
  • Centos7.8下Nmap的安装与使用

    基于centos的nmap的安装与使用 1 Nmap是什么 xff1f 2 NMAP下载3 Nmap安装4 常用命令5 建议 1 Nmap是什么 xff1f Nmap Network Mapper xff0c 最早是Linux下的网络扫描和
  • 出现“应用程序发生异常,未知的软件异常(0XC06D007E)”解决方法

    win 43 R 输入cmd 回车 然后把下面这行字符复制到黑色cmd框即在命令提示符后击鼠标右键 粘贴 回车 xff0c 耐心等待 xff0c 直到屏幕滚动停止 xff08 下面是要运行的代码 xff09 xff1a for 1 in w
  • json 笔记

    JSON简介 之前一直以为JSON只是一种文件格式 xff0c 了解了才发现并不是 JSON JavaScript Object Notation JavaScript 对象表示法 JSON 是存储和交换文本信息的语法 类似 XML JSO
  • Zookeeper启动成功后拒绝连接的解决方案

    zookeeper启动成功后zkServer sh status出错 一 问题出现情形 运行zookeeperd后显示启动成功 xff1a JMX enabled by default span class token keyword Us
  • STM32实战-高级定时器带死区的互补PWM输出

    前言 xff1a 平时我们设计点击驱动电路时 xff0c 一般会采用npn和pnp三极管 xff0c 来控制电机的导通和关闭 xff0c 但是三级管内部自带电容 xff0c 断电后不会立马断掉 xff0c 会经过很小的一段时间才会放电完毕
  • ldmia和stmia的用法

    ldmia r0 r3 r10 将基址寄存器r0开始的连续8个地址单元的值分别赋给r3 r4 r5 r6 r7 r8 r9 r10 注意的是r0指定的地址每次赋一次r0会加1 ld代表load 指向下一个地址单元 stmia r1 r3 r
  • Mysql中插入语句value和values的区别

    Mysql中插入语句 xff0c 官方文档中VALUE和VALUES都是正确的 xff0c 经过实际的操作也证实了两者也都是可以使用的 本文主要对二者插入语句数量的效率稍微的进行探究 INSERT具体使用可查看 xff1a insert官方
  • 使用VSCode配置Anaconda(3.7)-python3.6(yolov3)环境

    最近因为毕设需要用到目标检测的功能 xff0c 所以在完全小白的前提下学习了下YOLOv3 xff08 Windows10 43 Keras 43 VSCode 43 Tensorflow xff09 xff0c 在使用VSCode时遇到了
  • 深度学习Ubuntu20.04+CUDA+Pytorch环境配置+无显示器远程控制(2)

    Win10远程无显示器Ubuntu20 04系统 对于深度学习 xff0c 很多同学用的也是台式的工作站 xff0c 而不是集群服务器 但是 xff01 xff01 xff01 xff01 xff01 工作站的噪声很大 xff0c 所以我们
  • github合并分支~

    合并分支只需6个点击 1 点击这里 2 点击这里会看到有更新的分支 3 可以选择需要合并的分支 xff0c 关系是把1合并到2上 4 点击进行创建合并 5 看到对勾就是没有冲突可以合并 xff0c 点击按钮合并 6 点击confirm按钮提
  • 大华SDK+JAVA+4g网络摄像头进行二次开发

    前言 监控 xff0c 相信大家都不陌生 现在的监控技术发展迅速 xff0c 国内以海康威视为首的智能视频监控提供商也层出不穷 现在 xff0c 这些提供商都已经提供了相应的SDK以及API接口 xff0c 能够很好的支撑我们进行摄像机的二
  • 运用docker到ros2工程

    此方法制作的镜像可以直接在docker容器的伪终端对ros2工程进行命令行操作 xff0c 从而运行工程 基础知识 xff1a 登陆镜像仓库 sudo docker login 退出镜像仓库 sudo docker logout 查看镜像