runc
詳細情報
- 作成者
- Docker Inc.
- 公開年
- 所有者
- Open Container Initiative
- 種別
- OCIランタイム
- ライセンス
- Apache 2.0
- ソースコード
- github.com/opencontainers/runc
OCIランタイムのリファレンス実装。Linuxのシステムコール(clone、名前空間、cgroups)を呼んでコンテナを実際に起動する、小さなGo製バイナリ。
2015年にDockerが自らを分割し、低レイヤー部分をOCIに寄贈した際、Dockerのlibcontainerから生まれた。バンドル(rootfsとconfig.json)を受け取り、initプロセスをforkし、pid・net・mount・uts・ipc・userの各名前空間を設定し、seccompフィルタを適用してexecveを呼ぶ。
代替にはcrun(C実装で起動が速い)、gVisor runsc、Kata kata-runtime、youki(Rust)がある。本番クラスタの多くは「とにかく動く」ので、今もrunc標準のままだ。