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

无标题The GitHub profile of kaiquealves3r-dev, specifically the repository 'kaique' and its associated moonlight-stream wiki, Sunshine分支unicorn-os:开源游戏串流的新锐挑战者开源游戏串流生态迎来新玩家:unicorn-os/sunshine,这是对成熟项目LizardByte/Sunshine的一次分支。该分支旨在优化自托管串流服务器体验,兼容AMD、NVIDIA和Intel GPU,并与Moonlight客户Sanity 开源 Renovate 预设:依赖管理的隐形自动化引擎知名无头 CMS 平台 Sanity.io 在 GitHub 上发布了一套 Renovate 预设(sanity-io/renovate-presets),用于标准化和自动化依赖更新规则。该项目虽仅有 3 颗星,却标志着开发团队管理依赖方式查看来源专题页GitHub 已收录 3369 篇文章

时间归档

May 20263028 篇已发布文章

延伸阅读

Apptainer:一场静默的革命,如何让容器成为高性能计算的脊梁容器运行时 Singularity 正式更名为 Apptainer 并移交 Linux 基金会管理。AINews 深入探究这款无需特权、无守护进程的容器如何成为高性能计算的中流砥柱,揭示其在 HPC 工作负载上超越 Docker 的技术优势Singularity Registry:HPC容器管理领域被低估的基石Singularity Registry(sregistry)作为专为高性能计算与科学计算团队打造的自托管轻量级解决方案,正成为管理Singularity容器镜像的关键基础设施。本文深入解析其架构设计、部署方式,以及它在容器生态系统中填补的Singularity on Docker:为HPC容器可移植性架起轻量桥梁singularityhub/singularity-docker 项目通过提供封装了特定 Singularity 容器运行时版本的 Docker 基础镜像,让用户无需原生安装即可部署和测试 Singularity。这种轻量级方案简化了 CCentOS 7 的最后一战:为何这个 Singularity-Docker-PyTorch 镜像对 HPC 至关重要一个看似小众却至关重要的容器镜像——singularity-docker-centos7-conda-pytorch——为仍在运行 CentOS 7 的 HPC 集群和研究实验室提供了生命线。AINews 深入剖析其设计、局限,以及对遗留

常见问题

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,这说明它在开源社区具有较强讨论度和扩散能力。