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

windows下docker 运行 ros2humble arm64

目前要想运行arm版ros humble 目前最好的解决方案是使用qemu模拟。
1.拉取 ubuntu22.04

docker pull ubuntu:22.04 --platform=arm64

2.安装小鱼ros2 humble

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

3.安装eqmu

docker run --rm --privileged multiarch/qemu-user-static:register

4.运行arm版humble

docker run --rm -it -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static {$镜像id$} /bin/bash -c "uname -m; exec /bin/bash"

5.使用docker-compose来运行
此处有两个生成方案
第一个是x86的,第二个是arm版本的,当我们使用vscode 进行远程开发的时候我们需要把相应的.vscode-server分别对应出来比如西面的docker-compose所示, 其中image: dd5d 是使用ubuntu22.04 并安装了humble的版本image。

version: '3.8'
services:robot-humble:build: .privileged: truedevices:- /dev/ttyUSB0environment:- DISPLAY=host.docker.internal:0.0volumes:- ./modules:/usr/lib/modules- ./.vscode-server:/root/.vscode-server- ./ros2_ws:/root/ros2_wsports:- 9090:9090tty: truecommand: /bin/bashrobot-humble-arm:image: dd5dprivileged: truedevices:- "/dev/ttyUSB0:/dev/ttyUSB0"environment:- DISPLAY=host.docker.internal:0.0volumes:- /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static- ./modules:/usr/lib/modules- ./.vscode-server-arm:/root/.vscode-server- ./ros2_ws:/root/ros2_wsports:- "9090:9090"tty: truecommand: ["/bin/bash", "-c", "uname -m; exec /bin/bash"]

Dockerfile内容为(这里是x86的)

FROM osrf/ros:humble-desktop-full-jammy

PS 下载.vscode-server
https://blog.csdn.net/qq_43623902/article/details/136258880

x86:
https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode-server-linux-x64.tar.gzarm:
https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode-server-linux-arm64.tar.gz

并解压文件夹
/root/.vscode-server/bin/2fc07b811f760549dab9be9d2bedd06c51dfcb9a/下,内容大致为

LICENSE  bin  extensions  node  node_modules  out  package.json  product.json
http://www.xdnf.cn/news/5619.html

相关文章:

  • day 23
  • VIC-2D 7.0 为平面样件机械试验提供全视野位移及应变数据软件
  • MySQL是如何加行级锁的
  • Java大师成长计划之第19天:性能调优与GC原理
  • C# 中 static的使用
  • 计算机网络核心技术解析:从基础架构到应用实践
  • 2025年阿里云大数据ACP高级工程师认证模拟试题(附答案解析)
  • 基于Vue3.0的高德地图api教程004:自定义绘制点的颜色/修改绘制点/删除绘制点
  • RCE联系
  • 什么是ERP?ERP有哪些功能?小微企业ERP系统源码,SpringBoot+Vue+ElementUI+UniAPP
  • 基于LVS和Keepalived实现高可用负载均衡架构
  • [Java实战]Spring Boot 整合 Redis(十八)
  • Browserless 快速上手
  • FFmpeg 与 C++ 构建音视频处理全链路实战(一)—— 环境配置与视频解封装
  • ctfshow——web入门351~356
  • 【Pandas】pandas DataFrame cummax
  • web 自动化之 selenium 下拉鼠标键盘文件上传
  • FreeRTOS学习记录(变量命名规则全解、文件介绍)
  • 制造业IT管理方法论:柔性变更与数据治理的融合实践
  • 视觉-语言-动作模型:概念、进展、应用与挑战(上)
  • OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——nettle库
  • ActiveMQ 高级特性:延迟消息与优先级队列实战(一)
  • 【PmHub后端篇】Skywalking:性能监控与分布式追踪的利器
  • 15.three官方示例+编辑器+AI快速学习webgl_buffergeometry_instancing
  • PINN应用案例:神经网络求解热扩散方程高质量近似解
  • Python的安装使用
  • 深度策略梯度算法PPO
  • 《Asp.net Mvc 网站开发》复习试题
  • Java SpringMVC 异常处理:保障应用健壮性的关键策略
  • Spring Bean有哪几种配置方式?