当前位置: 首页 > news >正文

树莓派安装ros docker

系统: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

相关文章:

  • JavaWeb个人笔记
  • 【Rust中级教程】2.13. 结语(杂谈):我学习Rust的心路历程
  • 双Token机制(Access Token + Refresh Token)安全高效
  • Transformer 代码剖析1 - 数据处理 (pytorch实现)
  • Java类中的this操作
  • C#开发——日期操作类DateTime
  • 补题蓝桥杯14届JavaB组第4题
  • SQL Server 数据库迁移到 MySQL 的完整指南
  • Qwen2.5-VL技术报告:多模态大模型的新SOTA!视觉理解能力全面超越GPT-4o
  • Linux:Shell环境变量与命令行参数
  • CAS和AQS---java
  • “你使用的是不受支持的命令行标志:--no-sandbox。这会带来稳定性和安全风险。”提示解决方法
  • Spring的MutipartFile 会直接将流转成文件存放在临时目录嘛?
  • MySQL表约束的种类与应用
  • AI 时代下,操作系统如何进化与重构?
  • 头歌实验---C/C++程序设计:实验2:顺序结构程序设计
  • C#开发——时间间隔类TimSpan
  • 【01游戏——DFS】
  • 每天一个Flutter开发小项目 (6) : 表单与验证的专业实践 - 构建预约应用
  • 常见锁类型介绍
  • weirdcore制作网站/自己怎么建网站
  • 网站建设设计简介/618网络营销策划方案
  • 做网站挣钱来个好心人指点一下呗/网页搜索优化
  • 集团网站建设哪个好/软文推广公司有哪些
  • 安徽四建东方建设有限公司网站/友情链接翻译
  • 党建网站建设基本情况/西安网站seo哪家公司好