このプロジェクトについて

crunは、完全にC言語で書かれたOCI(Open Container Initiative)コンテナランタイムであり、高速でメモリフットプリントが小さいことを目的としています。OCIコンテナランタイム仕様に準拠しています。このプロジェクトは、Goで書かれたruncの代替を提供することを目指しており、C言語を活用して低レベル操作を行い、外部プロセスを必要とせずにコンテナ管理を他のプログラムに埋め込めるライブラリ(libcrun)を提供します。 主な機能は以下の通りです: - 高性能:crunはruncよりも高速で、メモリ使用量が大幅に少なく、100個のコンテナを順次実行するベンチマークで実証されています。 - 低リソース使用:runcでは失敗する非常に厳しいメモリ制限(例:512k)でコンテナを実行できます。 - ライブラリ対応:共有ライブラリ(libcrun)としてビルドでき、他のアプリケーションに統合できます。 - 静的ビルド:Nixを介して再現可能な静的バイナリが利用可能で、Ansibleロールがインストールを自動化します。 - Luaバインディング:スクリプト用のLuaバインディングを提供します。 ビルド依存関係は主要なディストリビューション(Fedora、RHEL/CentOS、Ubuntu、Alpine、Tumbleweed)向けにリストされています。ビルドプロセスはautotools(autogen.sh、configure、make)を使用します。 ドキュメントはcrun.1.mdで利用可能です。リリースは署名されており、GPGで検証できます。