尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Apple Silicon 实战:在 M 系列 Mac 上运行 docker-ros2-desktop-vnc 的 arm64 镜像完全指南

Apple Silicon 实战:在 M 系列 Mac 上运行 docker-ros2-desktop-vnc 的 arm64 镜像完全指南 Apple Silicon 实战在 M 系列 Mac 上运行 docker-ros2-desktop-vnc 的 arm64 镜像完全指南【免费下载链接】docker-ros2-desktop-vnc Dockerfiles to provide HTML5 VNC interface to access Ubuntu Desktop ROS 2项目地址: https://gitcode.com/gh_mirrors/do/docker-ros2-desktop-vncdocker-ros2-desktop-vnc是一个开源 Docker 镜像项目把Ubuntu 桌面 ROS 2整套环境装进容器再通过网络浏览器HTML5 VNC直接访问。对于 M1 / M2 / M3 / M4 等 Apple Silicon Mac 来说使用原生arm64aarch64镜像是解锁流畅 ROS 2 开发体验的关键——本文带你 3 步完成部署并附进阶构建与常见问题解答。为什么 M 系列 Mac 要优先选 arm64 镜像M 系列芯片是 ARM64 架构。如果在 Mac 上运行 x86_64amd64容器需要 Rosetta 模拟层桌面界面和编译任务都会明显变慢。而 docker-ros2-desktop-vnc 官方通过多平台构建为每个 ROS 2 版本同时发布了linux/amd64和linux/arm64两个镜像在 docker-bake.hcl 中可以看到每个目标都明确声明了双平台target jazzy { tags [${REGISTRY_PREFIX}:jazzy, ${REGISTRY_PREFIX}:latest] platforms [linux/amd64, linux/arm64] }✅ 在 M 系列 Mac 上拉取 arm64 版本桌面操作接近原生速度编译 ROS 2 功能包也更省时。一键安装 arm64 镜像3 个步骤走完全流程步骤 1确认 Docker 为 Apple Silicon 原生版本安装 Docker Desktop for MacApple Silicon 版在终端运行以下命令确认架构docker version # 确认 Architectures 中包含 aarch64 / arm64步骤 2启动容器只需一条命令即可拉起 ROS 2 桌面环境以 Jazzy 为例docker run -p 6080:80 --shm-size512m ghcr.io/tiryoh/ros2-desktop-vnc:jazzy--shm-size512m是共享内存大小运行带图形渲染的重型节点如 RViz时可适当调大。步骤 3打开浏览器访问容器启动后终端会打印访问地址。在 Mac 浏览器中打开http://127.0.0.1:6080即可看到完整的 Ubuntu MATE 桌面已预装 Firefox、VSCodium、Terminator 终端以及完整 ROS 2 桌面版。 默认账户信息用户ubuntu密码ubuntu启动容器时可用-e PASSWORD你的密码修改逻辑见 jazzy/entrypoint.sh。ROS 2 版本怎么选arm64 镜像标签速查表镜像标签ROS 2 版本推荐场景jazzy/latestJazzy✅ 当前 LTS生产与学习首选lyricalLyrical跟进较新桌面特性kiltedKilted尝鲜最新稳定分支humbleHumble上一代 LTS教程兼容性好ironIron已有项目绑定 IronrollingRolling追踪滚动开发版⚠️ 早期版本 dashing、foxy、galactic 等已标记为 deprecated不建议新项目使用。进阶从零构建 arm64 镜像docker buildx 实战如果想自己构建例如裁剪软件包仓库提供了完整的 Dockerfile每个发行版一个目录如 jazzy/Dockerfile。M 系列 Mac 上本地构建 arm64 镜像非常简单git clone https://gitcode.com/gh_mirrors/do/docker-ros2-desktop-vnc cd docker-ros2-desktop-vnc/jazzy docker buildx build --platformlinux/arm64 \ --progressplain -t my/ros2-desktop-vnc:jazzy-arm64 .两个对 arm64 用户特别友好的细节可在源码中查证构建提速Dockerfile 中声明了ARG QEMU_CPU参数用于加速 arm64 镜像的 QEMU 模拟构建amd64 不受影响运行时修复jazzy/entrypoint.sh 中对 aarch64 平台做了专门处理——启动 TigerVNC 时自动预加载libgcc_s.so.1动态库规避 ARM 架构下的已知崩溃问题if [ $(uname -m) aarch64 ]; then LD_PRELOAD/lib/aarch64-linux-gnu/libgcc_s.so.1 vncserver :1 -fg -geometry 1920x1080 -depth 24 else vncserver :1 -fg -geometry 1920x1080 -depth 24 fi也就是说官方镜像在 M 系列芯片上开箱即用无需额外折腾。常见问题 FAQ ⚡Q1启动时报 6080 端口被占用把端口映射改成空闲端口即可例如docker run -p 6090:80 ...然后用 http://127.0.0.1:6090 访问。Q2某些 Ubuntu Noble24.04基础镜像启动失败这是已知环境问题需要追加--security-opt seccompunconfined参数启动容器启动日志中也会自动提示这一点。Q3桌面卡顿或 RViz 显示异常优先确认运行的是 arm64 镜像docker image inspect 镜像查看 Architecture 为 arm64再适当调大--shm-size。Q4想在局域网其他设备上访问桌面启动时加--nethost或使用-p 0.0.0.0:6080:80然后用 Mac 的局域网 IP 访问 6080 端口注意网络安全性。总结✅ M 系列 Mac arm64 镜像 免模拟层的原生性能浏览器里即开即用的 ROS 2 桌面✅ 一条docker run -p 6080:80 --shm-size512m命令完成全部部署默认账号ubuntu/ubuntu✅ 官方镜像已覆盖 Jazzy、Lyrical、Humble、Rolling 等主流版本并针对 aarch64 做了 VNC 启动修复✅ 需要定制时用docker buildx指定--platformlinux/arm64即可自行构建。现在打开终端3 分钟后你就能在 Mac 浏览器里看到属于你的 ROS 2 桌面 【免费下载链接】docker-ros2-desktop-vnc Dockerfiles to provide HTML5 VNC interface to access Ubuntu Desktop ROS 2项目地址: https://gitcode.com/gh_mirrors/do/docker-ros2-desktop-vnc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表