这个项目能做什么

crun 是一个完全用 C 语言编写的 OCI(开放容器倡议)容器运行时,旨在实现快速和低内存占用。它符合 OCI 容器运行时规范。该项目的目标是通过利用 C 语言进行底层操作,并提供可嵌入其他程序的库(libcrun),从而无需外部进程管理容器,成为用 Go 编写的 runc 的替代方案。 关键特性包括: - 高性能:crun 比 runc 更快,且内存使用显著更少,如连续运行 100 个容器的基准测试所示。 - 低资源占用:它可以在非常严格的内存限制(例如 512k)下运行容器,而 runc 在这种情况下会失败。 - 库支持:可以构建为共享库(libcrun),以便集成到其他应用程序中。 - 静态构建:可通过 Nix 获得可复现的静态二进制文件,并提供了 Ansible 角色以自动化安装。 - Lua 绑定:提供 Lua 绑定以支持脚本编写。 构建依赖已列出适用于主要发行版(Fedora、RHEL/CentOS、Ubuntu、Alpine、Tumbleweed)。构建过程使用 autotools(autogen.sh、configure、make)。 文档可在 crun.1.md 中找到。发布版本已签名,并可通过 GPG 验证。