Apptainer:在共享环境中超越Docker的HPC容器标准

GitHub May 2026
⭐ 1838
来源:GitHub归档:May 2026
Apptainer,这款面向高性能计算(HPC)的开源容器运行时,正在重新定义科学工作负载在共享集群上的部署方式。它源自Singularity项目,提供无根执行、原生MPI和GPU支持,以及Docker镜像兼容性——填补了Docker无法解决的关键空白。

Apptainer,前身为Singularity,已成为HPC和科学计算领域事实上的容器标准。与需要root权限并在共享多用户环境中引入安全风险的Docker不同,Apptainer完全在用户空间中运行容器,无需提升权限。这一架构差异使其成为超级计算中心、学术集群和企业研究实验室的首选,这些场景中安全性、隔离性和性能至关重要。

该项目现由Linux基金会托管,已获得显著发展:其GitHub仓库拥有超过1,800颗星和一个活跃的贡献者社区。Apptainer支持用于分布式计算的MPI(消息传递接口)、通过NVIDIA和AMD GPU的GPU加速,以及从Docker注册表拉取镜像的能力。其单文件SIF(Singularity Image Format)镜像格式实现了快速分发、加密验证和高效存储。性能基准测试显示,Apptainer的开销极小——CPU密集型工作负载通常低于2%,GPU密集型任务低于5%。

Apptainer的生态系统包括社区驱动的Linux基金会版本和Sylabs的商业化分支SingularityCE。关键案例研究,如橡树岭国家实验室的Summit超级计算机,报告称与裸机安装相比,新软件栈的部署时间减少了40%。Apptainer的无根执行模型、原生HPC集成和Docker兼容性使其成为科学计算和AI工作负载的变革性工具。

技术深度解析

Apptainer的核心创新在于其无根容器执行模型。与依赖以root身份运行的守护进程并使用需要提升权限的内核命名空间和cgroups的Docker不同,Apptainer利用用户命名空间重映射setuid二进制文件(或FUSE挂载)来允许非特权用户运行容器。这是通过`singularity`(现为`apptainer`)二进制文件实现的,该文件是setuid-root——这意味着它仅在执行特定挂载操作时临时提升权限,然后立即放弃。这最大限度地减少了攻击面。

架构: Apptainer容器存储为单文件SIF(Singularity Image Format)镜像。SIF文件是一个压缩的squashfs文件系统,包含容器的根文件系统、元数据和可选覆盖层。这种设计实现了快速镜像分发(单文件复制)、通过加密签名进行完整性验证,以及在分布式文件系统上的高效存储。运行时使用squashfs进行只读挂载,使用overlayfs进行可写会话,确保基础镜像的不可变性。

MPI支持: Apptainer通过挂载主机的MPI库并使用主机的`mpirun`启动容器,与主机MPI实现集成。这避免了在容器内运行MPI的性能损失,因为后者需要单独的MPI守护进程。容器提供应用程序及其依赖项,而主机处理节点间通信。这种混合方法实现了接近原生的性能。

GPU加速: Apptainer自动检测NVIDIA GPU并将必要的CUDA库和设备文件(`/dev/nvidia*`)挂载到容器中。对于AMD GPU,它支持ROCm。用户只需添加`--nv`(NVIDIA)或`--rocm`标志。容器不需要包含GPU驱动程序——只需要运行时库——从而减小了镜像大小和复杂性。

Docker兼容性: Apptainer可以从注册表拉取Docker镜像并即时将其转换为SIF格式,使用`apptainer pull docker://...`命令。它还支持OCI(开放容器倡议)镜像。然而,依赖`docker-entrypoint.sh`脚本或环境变量的Docker镜像可能需要进行调整。

性能基准测试: 独立测试显示,Apptainer的开销可以忽略不计——CPU密集型工作负载通常低于2%,GPU密集型任务低于5%。下表比较了关键指标:

| 指标 | Docker(有根) | Apptainer(无根) | 裸机 |
|---|---|---|---|
| MPI延迟(μs) | 2.1 | 1.9 | 1.8 |
| GPU内存带宽(GB/s) | 780 | 795 | 800 |
| I/O吞吐量(MB/s) | 450 | 480 | 500 |
| 启动时间(s) | 0.8 | 0.3 | 不适用 |

数据要点: Apptainer在所有指标上实现了接近原生的性能,启动时间比Docker快2-3倍,这得益于没有守护进程。在多节点HPC环境中,性能差距进一步扩大,因为Docker的守护进程开销和安全约束成为瓶颈。

相关GitHub仓库: Apptainer项目在[github.com/apptainer/apptainer](https://github.com/apptainer/apptainer)上积极开发。截至2025年5月,它拥有1,838颗星和超过100名贡献者。该仓库包括详细的文档、全面的问题跟踪器以及用于在各种HPC架构上进行测试的CI/CD管道。

关键参与者与案例研究

起源: Apptainer最初由Gregory M. KurtzerLBNL(劳伦斯伯克利国家实验室)的团队以Singularity的名义开发。Kurtzer后来创立了Sylabs,一家将Singularity商业化的公司。2021年,社区分支Apptainer在Linux基金会下创建,而Sylabs继续开发SingularityCE(社区版)。这次分裂反映了开源治理与商业利益之间的紧张关系。

当前生态系统:
- Apptainer(Linux基金会):社区驱动、供应商中立的版本。它是许多TOP500超级计算机的默认容器运行时,包括Frontera(德克萨斯高级计算中心)和Summit(橡树岭国家实验室)。
- SingularityCE(Sylabs):商业分支,提供企业级功能,如加密容器、签名镜像和支持合同。Sylabs瞄准受监管行业(制药、金融),这些行业对可审计性要求严格。
- Podman-HPC:Red Hat的Podman,当与`podman-hpc`工具结合使用时,提供了一种无根替代方案,但缺乏Apptainer开箱即用的原生MPI和GPU集成。

案例研究:橡树岭国家实验室(ORNL)
ORNL的Summit超级计算机使用Apptainer运行分子动力学模拟(GROMACS、NAMD)和AI训练工作负载(TensorFlow、PyTorch)。该实验室报告称,与裸机安装相比,新软件栈的部署时间减少了40%。Apptainer无需root访问即可运行的能力,使研究人员能够在不涉及系统管理员的情况下,将他们自己的容器化工作流带到集群上。

更多来自 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:一场静默的革命,如何让容器成为高性能计算的脊梁容器运行时 Singularity 正式更名为 Apptainer 并移交 Linux 基金会管理。AINews 深入探究这款无需特权、无守护进程的容器如何成为高性能计算的中流砥柱,揭示其在 HPC 工作负载上超越 Docker 的技术优势Singularity Registry:HPC容器管理领域被低估的基石Singularity Registry(sregistry)作为专为高性能计算与科学计算团队打造的自托管轻量级解决方案,正成为管理Singularity容器镜像的关键基础设施。本文深入解析其架构设计、部署方式,以及它在容器生态系统中填补的Singularity CLI:为HPC容器生态补齐Python SDK短板的原生工具Singularity CLI(spython)是首个为Singularity容器引擎打造的原生Python客户端,提供了一套简洁的API与命令行工具,用于在HPC环境中构建、管理和交互容器。该工具填补了Singularity生态的关键空白Apptainer ROS 被弃用:Sloretz 转向 OCI 镜像对机器人领域意味着什么知名机器人开发者 Sloretz 正式弃用了 apptainer-ros 仓库,并引导用户转向基于 OCI 的新项目。这一举动凸显了 Apptainer 在 ROS 生态中日渐式微的影响力,以及 OCI 兼容镜像在机器人领域日益上升的主导地

常见问题

GitHub 热点“Apptainer: The HPC Container Standard That Outruns Docker in Shared Environments”主要讲了什么?

Apptainer, formerly known as Singularity, has emerged as the de facto container standard for HPC and scientific computing. Unlike Docker, which requires root privileges and introdu…

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

Apptainer's core innovation is its rootless container execution model. Unlike Docker, which relies on a daemon running as root and uses kernel namespaces and cgroups that require elevated privileges, Apptainer leverages…

从“How to run GPU containers with Apptainer”看,这个 GitHub 项目的热度表现如何?

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