Apptainer ROS 被弃用:Sloretz 转向 OCI 镜像对机器人领域意味着什么

GitHub May 2026
⭐ 2
来源:GitHub归档:May 2026
知名机器人开发者 Sloretz 正式弃用了 apptainer-ros 仓库,并引导用户转向基于 OCI 的新项目。这一举动凸显了 Apptainer 在 ROS 生态中日渐式微的影响力,以及 OCI 兼容镜像在机器人领域日益上升的主导地位。

sloretz/apptainer-ros 仓库曾是一个小众实验,旨在使用 Apptainer(前身为 Singularity)对机器人操作系统(ROS)环境进行容器化。如今,其创建者 Sloretz 已正式放弃该项目,转而指向 GitHub 上的 ros_oci_images 项目——一个为现代容器运行时构建 ROS Docker/OCI 镜像的仓库。这一转向并非个人偏好那么简单;它反映了整个行业的共识:尽管 Apptainer 在 HPC 安全方面有其优势,但它缺乏现代机器人工作流所需的生态兼容性、工具链和可移植性。apptainer-ros 项目仅有 2 颗星,日活跃度为零,它曾作为一个概念验证,展示了如何在共享集群上的非特权容器中运行 ROS 节点。然而,其对 Apptainer 独特镜像格式(SIF)的依赖,使其在 Kubernetes、Docker Compose 等主流编排工具面前显得格格不入。Sloretz 的弃用决定,标志着机器人容器化领域一个时代的终结,也预示着 OCI 标准将成为不可逆转的主流。

技术深度解析

sloretz/apptainer-ros 仓库曾试图连接两个世界:高性能计算(HPC)容器运行时 Apptainer(前身为 Singularity)和机器人操作系统(ROS)。Apptainer 的核心价值在于安全性——它无需守护进程即可运行容器,运行在用户空间,并支持加密镜像。对于 ROS 而言,这意味着可以在无需 root 权限的情况下,在共享 HPC 集群上部署机器人软件。该仓库提供了定义文件(`.def`),用于构建包含 Melodic 和 Noetic 等 ROS 发行版的 Apptainer 镜像,以及用于在容器内运行 ROS master 和节点的脚本。

然而,其技术局限性十分严重。Apptainer 使用 Singularity Image Format(SIF),一种压缩的 squashfs 文件系统,这与 Docker 和 Podman 使用的 OCI 标准不兼容。这意味着为 Apptainer 构建的镜像无法直接用于 Kubernetes Pod、Docker Compose 设置或运行 containerd 的边缘设备。此外,Apptainer 的 GPU 支持虽然可用,但远不如 NVIDIA 为 Docker 提供的官方容器工具包成熟。对于依赖 GPU 加速感知(例如使用 TensorFlow 或 PyTorch 进行目标检测)的 ROS 应用来说,这是一个关键瓶颈。

相比之下,ros_oci_images 项目构建的是标准 OCI 镜像。这意味着它们可以被任何 OCI 兼容的运行时拉取、打标签、版本化,并推送到任何镜像仓库(Docker Hub、GitHub Container Registry 等)。该仓库提供了针对 ROS 2 Humble、Iron 和 Rolling 的 Dockerfile,并包含不同基础操作系统(Ubuntu 22.04、24.04)和中间件(Fast DDS、Cyclone DDS)的变体。这与行业向可重现构建和不可变基础设施迈进的趋势完全一致。

性能对比:Apptainer vs. OCI for ROS

| 特性 | Apptainer (SIF) | OCI (Docker/Podman) |
|---|---|---|
| 镜像格式 | SIF (squashfs) | OCI 层压缩包 |
| 是否需要守护进程 | 否 | 是 (Docker) / 否 (Podman) |
| 无根模式 | 是 (默认) | 是 (Podman) / 部分支持 (Docker) |
| GPU 支持 | 通过 `--nv` 标志 | NVIDIA Container Toolkit |
| Kubernetes 集成 | 有限 (通过 `apptainer` CRI) | 原生 (CRI-O, containerd) |
| 镜像仓库支持 | Singularity Library, OCI 仓库 (实验性) | 所有主流仓库 |
| 生态工具链 | 极少 | Docker Compose, Helm, Kustomize |
| ROS 社区采用率 | 可忽略不计 | 持续增长 (例如 ROS Docker Hub 官方镜像) |

数据要点: 基于 OCI 的解决方案提供了更优越的生态集成和工具链成熟度,使其成为生产级 ROS 部署的务实选择。Apptainer 在 HPC 安全领域的 niche 优势,并不足以抵消其对大多数机器人团队造成的兼容性成本。

关键人物与案例研究

这里的关键人物是 sloretz(Steven Loretz),一位知名的 ROS 开发者,也是 Open Robotics(ROS 背后的组织)的前员工。他为 ROS 2 做出了重大贡献,特别是在实时性能和容器化领域。他的个人仓库常常作为早期实验,为后来的官方 ROS 工具提供参考。apptainer-ros 的弃用,是来自一位备受信赖的社区成员发出的强烈信号。

ROS 容器化领域的其他关键参与者包括:

- Canonical (Ubuntu): 提供官方 ROS Docker 镜像,并投资了 ROS snap 包。他们的重点是基于 snap 的隔离机制,这与容器方案形成竞争。
- NVIDIA: Isaac ROS 平台广泛使用 Docker 容器,为 Jetson 和独立 GPU 提供预构建镜像。NVIDIA 的容器工具包是 GPU 加速 ROS 的事实标准。
- AWS RoboMaker: 一项用于 ROS 开发和仿真的托管服务,完全构建在由 Kubernetes 编排的 Docker 容器之上。
- Open Robotics: 维护着官方 ROS Docker 镜像(例如 `ros:noetic`、`ros:humble`),这些镜像基于 OCI 并被广泛使用。

ROS 容器化方案对比

| 方案 | 运行时 | 安全模型 | GPU 支持 | 编排能力 | 社区规模 |
|---|---|---|---|---|---|
| Apptainer (sloretz/apptainer-ros) | Apptainer | 无根、加密 | 有限 | 手动 | 非常小 |
| 官方 ROS Docker 镜像 | Docker/Podman | 默认 root | 优秀 (NVIDIA 工具包) | Kubernetes, Compose | 大 |
| ROS Snap 包 | snapd | 隔离 (AppArmor) | 有限 | 无 | 中等 |
| AWS RoboMaker | Docker | 托管 IAM | 优秀 | Kubernetes (托管) | 小 (企业级) |

数据要点: 官方 ROS Docker 镜像和 NVIDIA 的 Isaac ROS 代表了主流方向,而 Apptainer 则是一种边缘方案。Sloretz 的转向与这一主导趋势完全一致。

行业影响与市场动态

apptainer-ros 的弃用是整个行业更大转变的一个缩影:机器人领域正在向 OCI 容器标准化。这带来了几个重要影响:

1. 生态趋同: 机器人不再是一个拥有独立容器标准的孤立领域。通过采用 OCI,机器人软件可以无缝集成到更广泛的 DevOps 和 MLOps 管道中。这意味着机器人团队可以利用 Kubernetes 进行编排、使用 Helm 进行包管理,并采用 GitOps 工作流——这些工具在更广泛的云原生生态中已经非常成熟。

2. 安全模型演变: Apptainer 的无根、无守护进程模型曾是其主要卖点。然而,Podman 和 Docker 的无根模式(以及 Kubernetes 的 `securityContext` 功能)正在迅速缩小这一差距。对于大多数机器人部署来说,OCI 容器提供的安全级别已经足够,尤其是在与适当的策略引擎(如 OPA/Gatekeeper)结合使用时。

3. 边缘计算对齐: 机器人越来越多地部署在边缘设备上(如 NVIDIA Jetson、Intel NUC、树莓派)。这些设备通常运行 containerd 或类似轻量级运行时,这些运行时原生支持 OCI 镜像。Apptainer 的 SIF 格式在这些平台上几乎无法使用,而 OCI 镜像则可以直接拉取和运行。

4. 人才与技能复用: 通过标准化 OCI,机器人公司可以招聘到已经熟悉 Docker 和 Kubernetes 的软件工程师,而无需他们学习 Apptainer 的专有概念。这降低了入职门槛,并扩大了可用人才库。

市场预测: 未来两年内,超过 90% 的新 ROS 项目将使用 OCI 容器作为其默认部署方式。Apptainer 可能会在 HPC 机器人研究领域保留一个极小的 niche,但商业机器人产品将完全转向 OCI。Sloretz 的弃用决定,只是这一不可逆转趋势的早期信号。

更多来自 GitHub

一统天下:AI-Setup如何终结AI编程工具配置碎片化开源项目caliber-ai-org/ai-setup迅速走红,上线一天内GitHub星标数突破1000,暴露出AI辅助开发领域一个深层次的需求缺口。该工具直击核心痛点:使用多个AI编程助手(如Claude Code、Cursor和CodeAWS FPGA SDK:云端加速的隐藏宝石,还是小众利器?aws/aws-fpga 仓库是 AWS 官方开源的 FPGA 加速应用开发与部署工具包,专为 EC2 F1 实例设计。它提供了硬件开发套件(HDK)和软件开发套件(SDK),封装了 Xilinx FPGA 工具链,使开发者能够为金融风险建Vidi记录回放:AWS FPGA开发中缺失的调试利器efeslab/aws-fpga仓库,作为官方AWS FPGA硬件开发工具包(aws/aws-fpga)的一个分支,引入了Vidi:一套记录回放支持系统,旨在简化FPGA设计与验证中众所周知的调试难题。通过捕获并回放硬件状态,Vidi使工程查看来源专题页GitHub 已收录 2069 篇文章

时间归档

May 20262272 篇已发布文章

延伸阅读

ROS站在十字路口:机器人操作系统如何迎接下一场进化机器人操作系统(ROS)十余年来一直是机器人研究与原型开发的基石。随着行业重心从实验室转向真实世界的工厂、仓库与道路,ROS正面临其诞生以来最严峻的考验:如何从一个卓越的研究工具,蜕变为能够满足工业级可靠性、安全性与实时性需求的生产就绪平台宇树科技官方ROS套件:四足机器人研发门槛被彻底打破宇树科技通过发布官方unitree_ros软件包,从根本上降低了先进四足机器人研究的门槛。该套件为Go1、B1等平台提供标准化ROS接口、仿真模型与鲁棒驱动,正催化新一轮创新浪潮。此举将宇树硬件战略性地定位为学术与工业界的默认实验平台。Apptainer:在共享环境中超越Docker的HPC容器标准Apptainer,这款面向高性能计算(HPC)的开源容器运行时,正在重新定义科学工作负载在共享集群上的部署方式。它源自Singularity项目,提供无根执行、原生MPI和GPU支持,以及Docker镜像兼容性——填补了Docker无法解Apptainer:一场静默的革命,如何让容器成为高性能计算的脊梁容器运行时 Singularity 正式更名为 Apptainer 并移交 Linux 基金会管理。AINews 深入探究这款无需特权、无守护进程的容器如何成为高性能计算的中流砥柱,揭示其在 HPC 工作负载上超越 Docker 的技术优势

常见问题

GitHub 热点“Apptainer ROS Deprecated: Why Sloretz's Shift to OCI Images Matters for Robotics”主要讲了什么?

The sloretz/apptainer-ros repository, once a niche experiment in containerizing Robot Operating System (ROS) environments using Apptainer (formerly Singularity), has been abandoned…

这个 GitHub 项目在“why sloretz deprecated apptainer ros”上为什么会引发关注?

The sloretz/apptainer-ros repository attempted to bridge two worlds: the high-performance computing (HPC) container runtime Apptainer (formerly Singularity) and the Robot Operating System (ROS). Apptainer's core value pr…

从“apptainer vs docker for ros 2”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 2,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。