树莓派安装ros docker

ops/2025/3/1 12:05:24/

系统:bookworm或者ubuntu24都行

一、下载docker和拉取ros:noetic镜像

ubuntu

用鱼香ros脚本安装docker并拉取ros:noetic镜像: https://fishros.org.cn/forum/topic/20/小鱼的一键安装系列

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

选择docker安装ros noetic,arm64版本。 

bookworm

首先安装docker:安装Docker | Raspberry Pi 树莓派 (官网25年2月更新)

# 卸载旧版本(如果有):
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done# 添加 Docker 官方 GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/debian/gpg -o /etc/apt/keyrings/docker_aliyun.asc
sudo chmod a+r /etc/apt/keyrings/docker_aliyun.asc# 添加仓库到 Apt 源:
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker_aliyun.asc] http://mirrors.aliyun.com/docker-ce/linux/debian \$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \sudo tee /etc/apt/sources.list.d/docker_aliyun.list > /dev/null
sudo apt-get update

然后安装docker

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 推荐执行下面的指令以方便管理。否则每次运行docker指令还要加上sudo,很麻烦。

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

 然后换源,我网上随便找了一个,不知道之后还能不能用:教程 | 2025国内可用Docker镜像源配置指南(文末命令一键执行)_docker镜像库国内源 2025-CSDN博客

创建配置文件目录(已存在可跳过)
sudo mkdir -p /etc/docker 通过命令行生成配置(推荐新手)
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.imgdb.de","https://docker-0.unsee.tech","https://docker.hlmirror.com"]
}
EOF 应用配置(必须执行)
sudo systemctl daemon-reload 
sudo systemctl restart docker 

最后,拉取arm64版本的docker镜像(ubuntu20)

sudo docker pull ros:noetic

二、创建容器

建名为ros_docker容器

sudo docker run -dit --name=ros_docker -v /dev:/dev -v /home/uav:/home/uav -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -w /home/uav --privileged --net=host ros:noetic

参数含义参考Ubuntu通过docker安装任意版本ROS + 一键启动教程_ros docker-CSDN博客

最后设置一键进入ros_docker的脚本:

touch ~/.docker/setup/ros_docker_exec

将以下内容复制到ros_docker_exec文件中:

xhost +local:docker
docker exec -it ros_docker /bin/bash "$@"

 然后设置PATH环境变量:

echo 'export PATH=$PATH:/home/uav/.docker/setup' >> ~/.bashrc

然后就可以进入docker了。先启动docker容器(开机只需要启动一次)

docker start ros_docker

再进入启动的容器

ros_docker_exec

初次进入容器,需要设置一下ROS的环境变量:

# 在ros_docker容器内
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc

http://www.ppmy.cn/ops/162231.html

相关文章

介绍下pdf打印工具类 JasperPrint

JasperPrint 工具类深度解析 JasperPrint 是 JasperReports 框架中实现 PDF 打印的核心载体类&#xff0c;其本质是 填充数据后的可打印报表对象&#xff0c;承担着从模板编译、数据填充到格式输出的全流程控制。以下从 7 个维度展开深度解析&#xff1a; 一、核心定位与生命周…

PostgreSQL中的模式(Schema)

PostgreSQL 中的 模式&#xff08;Schema&#xff09; 是数据库内的一种逻辑分组机制&#xff0c;用于组织和管理表、视图、函数、索引等对象。它类似于操作系统中的目录结构&#xff0c;不同模式下的对象可以同名且相互独立&#xff0c;通过 模式名.对象名 的形式访问。以下是…

在Spark中如何配置Executor内存以优化性能

在Spark中&#xff0c;配置Executor内存以优化性能是一个关键步骤。以下是一些具体的配置方法和建议&#xff1a; 一、Executor内存配置参数 在Spark中&#xff0c;Executor的内存配置主要通过以下几个参数进行&#xff1a; --executor-memory 或 spark.executor.memory&…

汽车离合器片检具设计

摘 要 随着科学技术的飞速发展&#xff0c;检具作为产品质量检测的专用设备&#xff0c;其在机械制造行业&#xff0c;汽车行业&#xff0c;航空航天&#xff0c;国防以及科研领域等的使用越来越多&#xff0c;现已成为机械行业中不可或缺的检测设备。当前&#xff0c;检具的设…

Spark技术系列(一):初识Apache Spark——大数据处理的统一分析引擎

Spark技术系列(一):初识Apache Spark——大数据处理的统一分析引擎 1. 背景与核心价值 1.1 大数据时代的技术演进 MapReduce的局限性:磁盘迭代计算、中间结果落盘导致的性能瓶颈Spark诞生背景:UC Berkeley AMPLab实验室为解决复杂迭代计算需求研发(2010年开源)技术定位…

leetcode:2164. 对奇偶下标分别排序(python3解法)

难度&#xff1a;简单 给你一个下标从 0 开始的整数数组 nums 。根据下述规则重排 nums 中的值&#xff1a; 按 非递增 顺序排列 nums 奇数下标 上的所有值。 举个例子&#xff0c;如果排序前 nums [4,1,2,3] &#xff0c;对奇数下标的值排序后变为 [4,3,2,1] 。奇数下标 1 和…

React入门基础(一):为什么说React是现代前端的必然选择?

目录 一、React的核心优势&#xff1a;重新定义前端开发范式 1. 组件化&#xff1a;构建可复用的原子世界 2. 声明式编程&#xff1a;让代码更贴近业务本质 3. 生态霸权&#xff1a;一个React等于整个前端宇宙 二、框架选型指南&#xff1a;React在技术矩阵中的定位 1. 横…

DeepSeek-R1-671B大模型满血版私有化部署高可用教程-SparkAi系统集成图文教程

DeepSeek官网服务器繁忙的主要原因是由于用户数量激增导致的服务器资源紧张。‌为了解决这一问题&#xff0c;DeepSeek团队已经暂停了API服务充值&#xff0c;以避免对用户造成业务影响。目前&#xff0c;存量充值金额仍可继续调用&#xff0c;但充值功能暂时不可用‌。 DeepSe…