よくある質問・用語集

  • もっと調べる
  • どうやって使う?

runcとは

runcとは、OCI Runtime Specificationに基づいて作られたKubernetesやDockerの低レベルなランタイムで、オープンソースソフトウェアとして公開されています。runcは、単独ではコンテナの起動と動作を管理するためのCLIツールとしても利用することができます。

runcの歴史

2017年に、オープンコンテナイニシアティブ(OCI)が次の2つの仕様を作成しました。

  • コンテナのランタイムに関する仕様(Open Container Initiative Runtime Specification)
  • コンテナイメージフォーマットに関する仕様(Open Container Initiative Image Format

Dockerは、この仕様にしたがって図のようないくつかの要素に分割されました。

従来のDockerとKubernetesの関係

【従来のDockerとKubernetesの関係】

分割されたDockerとKubernetesの関係

【分割されたDockerとKubernetesの関係】

runcは、この分割の過程で低レベルのランタイムとして、Dockerから分離されたものです。

runcのアーキテクチャ

Dockerから分離して作成されているため、runcコマンド自体がdockerコマンドのサブセットのような位置づけになっています。

runcでは、すべてのコンテナが一つのカーネルを共有して動作します。そのため、不適切なコンテナが存在した場合には、他のコンテナに影響が及ぶ可能性があり、セキュリティ的に脆弱だと懸念されています。
しかし、現時点では最も一般的で、汎用的な実装となっています。

runcのアーキテクチャ

runcは、RedHat Enterprise Linux 7.6以降で採用されているPodmanからも利用されています。

Podmanのアーキテクチャ

低レベルのランタイムとしては、runcの他にgVisor、Kata Containerなどがあります。

【カテゴリ】:システム管理  仮想化  オープンソースソフトウェア  

  • もっと調べる
  • どうやって使う?

【Webセミナー】自社でOSSを採用しよう!今更聞けないOSSの基本セミナー

日程: 11月22日(金)Webセミナー「BigBlueButton」を使用します。
内容: OSSを導入したいけど、どこから手をつければいいかわからない方必見!
ご興味のあるかたはぜひご参加ください。

セミナー申込

関連用語

runcに関連するページ(事例など)

runcとは先頭へ