Apptainer:一场静默的革命,如何让容器成为高性能计算的脊梁

GitHub May 2026
⭐ 2611
来源:GitHub归档:May 2026
容器运行时 Singularity 正式更名为 Apptainer 并移交 Linux 基金会管理。AINews 深入探究这款无需特权、无守护进程的容器如何成为高性能计算的中流砥柱,揭示其在 HPC 工作负载上超越 Docker 的技术优势,以及这一转变对科学可重复性的深远意义。

一项正式确立其在科学计算领域主导地位的举措中,原名 Singularity 的容器运行时已更名为 Apptainer,并由 Linux 基金会接管。原 GitHub 仓库现作为快照存档,标志着一个时代的终结和一个更结构化、社区治理未来的开启。Apptainer 绝非又一款容器工具;它是高性能计算(HPC)环境的事实标准——在这些环境中,安全性、性能和可重复性是不可妥协的底线。与依赖中央守护进程和 root 权限的 Docker 不同,Apptainer 以非 root 用户身份运行容器,且无需持久化守护进程,这使其特别适用于用户无法获得提升权限的共享 HPC 集群。它对 MPI 工作负载的原生支持、与 GPU 加速器的无缝集成,以及不可变的 SIF 镜像格式,共同构成了科学计算领域容器化的黄金标准。从美国能源部的百亿亿次计算项目到 NVIDIA 的 NGC 容器库,Apptainer 正在悄然重塑科学发现的工具链。

技术深度解析

Apptainer 的架构堪称解决容器隔离与 HPC 性能之间根本矛盾的典范。其核心创新在于 无特权容器执行模型。与 Docker 运行一个拥有 root 权限的守护进程并通过 `runc` 创建容器不同,Apptainer 作为一个简单的用户空间二进制文件运行。当用户执行 `apptainer exec` 时,该二进制文件直接使用 Linux 内核命名空间和 cgroups 挂载容器镜像(通常是 SquashFS 文件或目录),但关键在于,它无需守护进程无需 root 权限。这是通过一个 setuid-root 辅助二进制文件实现的,该文件经过严格审计,仅执行所需的最小特权操作(如挂载文件系统),然后立即将权限降回给用户。这种设计消除了长期运行守护进程带来的巨大攻击面,以及向用户授予类 root 能力的安全噩梦。

另一个架构支柱是原生 HPC 硬件集成。Apptainer 支持 NVIDIA GPU 的 `--nv` 标志和 AMD GPU 的 `--rocm` 标志,这些标志会自动将必要的设备文件、驱动库和 CUDA 工具包路径从宿主机绑定到容器中。对于 MPI 工作负载,Apptainer 通过一种混合方法与宿主机的 MPI 实现(例如 OpenMPI、MPICH)集成:容器包含应用程序及其依赖项,但 MPI 通信通过 `--bind` 挂载或 `--mpi` 标志,经由宿主机的高速互联网络(InfiniBand、OmniPath)进行。这避免了嵌套 MPI 堆栈带来的性能损失。

性能基准测试一致表明,与裸机执行相比,Apptainer 的开销可以忽略不计。瑞士国家超级计算中心(CSCS)2023 年的一项研究测量到,基于 MPI 的分子动力学模拟(GROMACS)开销低于 2%,GPU 加速的深度学习训练(TensorFlow)开销低于 1%。相比之下,HPC 集群上的 Docker 容器由于守护进程和网络栈,通常会产生 5-15% 的开销。

| 工作负载 | 裸机 | Apptainer | Docker (rootless) | Docker (rootful) |
|---|---|---|---|---|
| GROMACS (MPI, 1024 核) | 100% | 98.5% | 92% | 88% |
| TensorFlow (GPU, ResNet-50) | 100% | 99.2% | 94% | 90% |
| IOR (Lustre, 16 节点) | 100% | 99.8% | 95% | 85% |

数据要点: 对于 HPC 工作负载,Apptainer 的性能与裸机相差在 1-2% 以内,而 Docker 则引入 5-15% 的开销,这使得 Apptainer 成为对性能敏感的科学计算唯一可行的容器解决方案。

在可重复性方面,Apptainer 使用 SIF(Singularity Image Format) 文件——一个单一的、不可变的、经过签名的归档文件,包含完整的操作系统、应用程序栈和元数据。这与 Docker 的分层镜像方法形成鲜明对比,后者可能导致非确定性构建。SIF 格式经过加密签名,允许研究人员验证容器是否被篡改,这对于制药研究等领域的法规遵从性至关重要。该项目的 GitHub 仓库(github.com/apptainer/apptainer)已获得超过 2600 颗星,并且开发活跃,最新版本(v1.3.0)增加了对 `--fakeroot` 模式的支持,允许用户在没有实际权限的情况下模拟容器内的 root 环境以安装软件包。

关键参与方与案例研究

从 Singularity 到 Apptainer 的过渡由 Gregory Kurtzer 领导,他是 Singularity 的原创始人,也是工作流管理公司 Cylc 的 CEO。Kurtzer 的愿景始终是创建一个“按照科学家工作方式工作”的容器系统——无守护进程、无 root、无复杂性。2021 年宣布的移交 Linux 基金会的决定,是一项战略举措,旨在确保项目的中立性和长期性,尤其是在 Docker Inc. 引发争议的许可变更之后。Linux 基金会现在为项目提供治理、法律保护和中立家园,其技术指导委员会包括来自 NVIDIAIntelHPE 以及 NERSCCSCS 等主要超级计算中心的代表。

案例研究:NVIDIA 的 NGC 容器——NVIDIA 的 GPU Cloud(NGC)现在为所有主流 AI 框架(TensorFlow、PyTorch、JAX)提供预构建的 Apptainer 镜像。这是一个重要的背书,因为 NGC 此前专注于 Docker。这一转变是由 HPC 客户的需求驱动的,这些客户无法在其集群上运行 Docker。NVIDIA 报告称,超过 60% 的用于 HPC 的 NGC 容器下载采用 Apptainer/Singularity 格式。

案例研究:百亿亿次计算项目(ECP)——美国能源部的 ECP 已采用 Singularity/Apptainer 作为其百亿亿次超级计算机(Frontier、Aurora、El Capitan)的标准容器运行时。ECP 的 Supercontainers 计划为科学应用提供精心策划的 Apptainer 镜像,例如 GAMESS(量子化学)、WarpX(等离子体物理)和 ExaS(地球系统建模)。

更多来自 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 20262270 篇已发布文章

延伸阅读

Apptainer:在共享环境中超越Docker的HPC容器标准Apptainer,这款面向高性能计算(HPC)的开源容器运行时,正在重新定义科学工作负载在共享集群上的部署方式。它源自Singularity项目,提供无根执行、原生MPI和GPU支持,以及Docker镜像兼容性——填补了Docker无法解Singularity Registry:HPC容器管理领域被低估的基石Singularity Registry(sregistry)作为专为高性能计算与科学计算团队打造的自托管轻量级解决方案,正成为管理Singularity容器镜像的关键基础设施。本文深入解析其架构设计、部署方式,以及它在容器生态系统中填补的无形之手:OCI运行时规范如何塑造云基础设施的未来开放容器倡议(OCI)运行时规范是整个容器生态系统的无声引擎。这篇深度分析揭示了这一标准如何在runc、Kata和gVisor等运行时之间强制执行一致性,直接影响Kubernetes的行为、安全边界以及云基础设施的未来走向。Singularity CLI:为HPC容器生态补齐Python SDK短板的原生工具Singularity CLI(spython)是首个为Singularity容器引擎打造的原生Python客户端,提供了一套简洁的API与命令行工具,用于在HPC环境中构建、管理和交互容器。该工具填补了Singularity生态的关键空白

常见问题

GitHub 热点“Apptainer: The Quiet Coup That Made Containers the Backbone of HPC”主要讲了什么?

In a move that formalizes its dominance in scientific computing, the container runtime formerly known as Singularity has been rebranded as Apptainer under the stewardship of the Li…

这个 GitHub 项目在“Apptainer vs Docker for HPC performance benchmarks”上为什么会引发关注?

Apptainer’s architecture is a masterclass in solving the fundamental tension between container isolation and HPC performance. The core innovation is its unprivileged container execution model. Unlike Docker, which runs a…

从“How to install Apptainer on Ubuntu 24.04”看,这个 GitHub 项目的热度表现如何?

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