runcとは
runcとは、OCI Runtime Specificationに基づいて作られたKubernetesやDockerの低レベルなランタイムで、オープンソースソフトウェアとして公開されています。runcは、単独ではコンテナの起動と動作を管理するためのCLIツールとしても利用することができます。
runcの歴史
2017年に、オープンコンテナイニシアティブ(OCI)が次の2つの仕様を作成しました。
- コンテナのランタイムに関する仕様(Open Container Initiative Runtime Specification)
- コンテナイメージフォーマットに関する仕様(Open Container Initiative Image Format
Dockerは、この仕様にしたがって図のようないくつかの要素に分割されました。
runcは、この分割の過程で低レベルのランタイムとして、Dockerから分離されたものです。
runcのアーキテクチャ
Dockerから分離して作成されているため、runcコマンド自体がdockerコマンドのサブセットのような位置づけになっています。
runcでは、すべてのコンテナが一つのカーネルを共有して動作します。そのため、不適切なコンテナが存在した場合には、他のコンテナに影響が及ぶ可能性があり、セキュリティ的に脆弱だと懸念されています。
しかし、現時点では最も一般的で、汎用的な実装となっています。
runcは、RedHat Enterprise Linux 7.6以降で採用されているPodmanからも利用されています。
低レベルのランタイムとしては、runcの他にgVisor、Kata Containerなどがあります。
【カテゴリ】:システム管理  仮想化  オープンソースソフトウェア  
【Webセミナー】自社でOSSを採用しよう!今更聞けないOSSの基本セミナー
日程: | 11月22日(金)Webセミナー「BigBlueButton」を使用します。 |
内容: | OSSを導入したいけど、どこから手をつければいいかわからない方必見! |
ご興味のあるかたはぜひご参加ください。 |
関連用語
- Kubernetesとは
- Dockerとは
- gVisorとは
- Kata Containerとは
- containerdとは
- CRI-Oとは
- rktとは
- Podとは
- podmanとは
- Deploymentとは
- ReplicaSetとは
- Minikubeとは
- Microk8sとは
- Dockerfileとは