raspberry pi/orienge pi等arm架构硬件打包ros humble docker视觉及机器人开发镜像

raspberry pi/orienge pi等arm架构硬件打包ros humble docker开发镜像

文章目录

  • 前言
  • 准备工作
    • 拉取镜像
    • 编写Dockerfile
    • 编译docker镜像
  • 启动镜像
    • docker-compose文件编写
  • 总结

前言

这篇文章主要用于定制化打包需要的docker镜像,由于ros1提供的镜像源是国外的很多软件无法更新,所以这篇文章讲如何通过定制的方式修改源,并且提前安装好需要的环境软件等。

docker hub中提供的镜像包含下边三种架构:

  • amd64, arm32v7, arm64v8

docker pull时会自动根据架构拉取对应的镜像,本文选择的是humble镜像,镜像名如下:

ros:humble-perception-jammy

本文开发的基础环境:

名称内容
系统ubuntu 22.04 / debian buster
硬件raspberry pi或orange pi arm64V8(32V7理论上也是可以的)
内存8G
硬盘32GB

如果是 arm64V8可以直接拉取博主上传的镜像,根据后续docker-compose启动即可:

docker pull binglee75/humble_arm_v8:240522

准备工作

安装docker可以通过这篇文章安装《如何建立并使用docker》

启动ros2 docker可以参考这篇文章《raspberry/arm 搭建ros2 docker开发环境》

国内镜像加速可参考《docker使用http服务及国内镜像加速_docker http-CSDN博客》

拉取镜像

本地拉取ros:humble-perception-jammy2镜像

docker pull ros:humble-perception-jammy

编写Dockerfile

Dockerfile是指导docker打包镜像的指引文件,总体文件结构如下:

.
├── Dockerfile
├── base
│   ├── base.bash
│   ├── pip.tsinghua.conf
│   ├── requirements.txt
│   ├── ros_entrypoint.sh
│   └── sources.list
└── docker-compose.yaml

下边是一份简单的文件,博主替换了现有镜像中的apt源与ros源,避免下载速度慢和连接不上的问题

FROM ros:humble-perception-jammy
LABEL Description="A Dockerfile to ros humble $RES_NAME:$TAG" Author="LinxinLi" Version="0.1"SHELL ["/bin/bash", "-o", "pipefail", "

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/18614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型部署推理应用技术浅析

大模型完成预训练后不是就万事大吉了,离推理应用还有很大距离,需要经过微调、部署等一系列工程化工作。尤其是在2B的行业大模型应用中,为解决大模型的幻觉、时效性和推理成本问题,需要建立单一模型之上的体系。模型部署中的技术大…

使用uniapp开发支付宝小程序时引入卡包插件

1、官网文档 https://opendocs.alipay.com/pre-open/03k88a?pathHash30ce86a9 2、代码开发 //manifest.json 配置文件添加卡包插件 "mp-alipay": {"usingComponents": true,"appid": "xxxxxxxxxxxxxxxxx","plugins": {&…

深入理解Seata:分布式事务的解决方案

在现代的微服务架构中,随着业务系统的不断拆分和模块化,分布式事务成为一个重要的挑战。为了解决微服务架构下的分布式事务问题,Seata应运而生。Seata(Simple Extensible Autonomous Transaction Architecture)是一款开…

Windows找出权限维持的后门

Windows权限维持主要包含活动隐藏、自启动等技术。 隐藏文件 利用文件属性 最简单的一种隐藏文件的方式,文件右键属性,勾选隐藏,点击确定后,在这个文件里看不到刚刚的文件了。 如果要让文件显示出来,就点击查看&…

C++:round函数用法

C:round函数用法 C:round函数用法 正常用法 对于小数而言,round()函数仅仅保留到整数位,即仅仅对小数点后一位四舍五入 round(1.5)2.000000 round(1.56)2.000000 round(-1.5)-2.000000 round(-1.56)-2.000000保留小数用法 如果…

matplotlib ---词云图

词云图是一种直观的方式来展示文本数据,可以体现出一个文本中词频的使用情况,有利于文本分析,通过词频可以抓住一篇文章的重点 本文通过处理一篇关于分析影响洋流流向的文章,分析影响洋流流向的主要因素都有哪些 文本在文末结尾 …

着色器技术在AI去衣中的魔法般的作用

引言: 在数字图像处理的世界中,AI去衣技术正逐步成为研究的前沿。它利用人工智能的强大能力,实现对图像中衣物的智能识别与处理。在这一过程中,着色器(Shader)技术扮演了至关重要的角色。本文将深入探讨着色…

【VTKExamples::Utilities】第十五期 ShepardMethod

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例ShepardMethod,并解析接口vtkShepardMethod,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ…

没有可用软件包 docker-ce。 错误:无须任何处理

特么的各种百度查看,全是一些废话!!!centos7安装不上docker,都是老的代码了: yum install docker-ce 解决方案: # CentOS yum install docker-io

error: ‘return’ with no value, in function returning non-void [-Werror]

解释:返回没有值,但是函数返回时非空的; 处理方法: 1:关闭 warning转error的编译选项,“-Wall -Werror”; 2:根据函数定义,给函数设置对应返回值; 报错代码示例 void *…

深度学习之CNN卷积神经网络

一.卷积神经网络 1. 导入资源包 import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn import tensorflow as tf from tensorflow import keras注:from tensorflow import keras:从TensorFlow库中导入Keras模块&am…

【Unity之FGUI】白仙章Fairy GUI控件详解二

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:就业…

《征服数据结构》双向链表

摘要: 1,双链表的介绍 2,双链表的用途 3,双链表的节点插入和删除 1,双链表的介绍 前面我们讲过单链表,单链表的特点就是只能往后访问不能往前访问。单链表一般在面试中用的比较多,比如删除倒数第…

广东商标协会批复为世界酒中国菜的指导单位

广东商标协会批复荐酒师公司成为“世界酒中国菜”活动指导单位 一、批复背景与意义 广东商标协会正式批复荐酒师国际认证(广州)有限公司,成为备受瞩目的“世界酒中国菜”系列活动的指导单位。该活动旨在共建“一带一路”倡议、助力“乡村振兴…

Unity射击游戏开发教程:(28)敌人被摧毁时掉落的能量提升

在这篇文章中,我将介绍如何在敌人被摧毁时产生能量提升。 首先,有一个生成管理器,负责生成敌人和能量提升。我正在对其进行转换,以便当敌人被摧毁时,有可能会掉落能量。本文将仅介绍当敌人被摧毁时掉落的能量道具。我将介绍为电源添加一个平衡的生成系统。 Spawn Manager…

最简单的 UDP-RTP 协议解析程序

最简单的 UDP-RTP 协议解析程序 最简单的 UDP-RTP 协议解析程序原理源程序结果下载链接参考 最简单的 UDP-RTP 协议解析程序 本文介绍网络协议数据的处理程序。网络协议数据在视频播放器中的位置如下所示。 本文中的程序是一个 UDP/RTP 协议流媒体数据解析器。该程序可以分析 …

Sqli-labs-master靶场1-20通关教程

目录 SQL注入基本语句 Less-1(字符型-闭合 ) Less-2(数字型) Less-3(字符型-闭合 ) ) Less-4(字符型-闭合 ") ) Less-5(报错注入-闭合 ) Less-…

激光雷达测试板智能系统应用

在自动驾驶技术和机器人感知系统的迅猛发展中,激光雷达(Lidar)作为一种先进的测距技术,正逐渐成为这些系统不可或缺的组成部分。而在这一技术的实际应用前,对激光雷达进行精确的测试和校准是至关重要的一步。激光雷达测…

【原创】java+springboot+mysql日程管理系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

基于tensorflow的咖啡豆识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、前期工作 1. 设置GPU import tensorflow as tfgpus tf.config.list_physical_devices("GPU")if gpus:tf.config.experimental.set_memory_gr…