Open Container Initiative

From Wikipedia, the free encyclopedia

Open Container InitiativeOCI)は、OSレベル仮想化英語版の一種である「コンテナ」のフォーマット・ランタイムの業界標準策定を目的として設立されたイニシアチブである[1]Linux Foundationプロジェクトの1つである[2]

OSレベル仮想化手法の1つとして、Dockerをはじめとするコンテナ仮想化技術がある。複数存在するコンテナ仮想化実装のオープン業界標準策定を目的として設立されたのがOpen Container Initiativeである。

OCIが策定した標準仕様は以下の2つである[3]

またOCIは上記仕様のリファレンス実装であるrunCを開発しており[4]、これは高レベルのツールを開発する際のベースとなっている。

OCI Runtime Spec

Container

OCI RuntimeにおけるContainerは「『隔離とリソース制限を設定可能なプロセス実行』を提供する1つの環境」である[5]。例えばruncランタイム上で生成されたContainerは他のコンテナからファイルシステムやプロセスが隔離され、利用可能なCPUリソース等に制限がかけられている。ゆえにこのコンテナ(環境)内で実行されるプロセスは隔離とリソース制限を得ることができる。

OCI Runtime SpecではこのContainerのライフサイクル等を定義している。

status

OCI Containerはcreating, created, running, stopped以下のいずれかの状態あるいはランタイムが拡張した状態にある[6]

Runtime

OCIにおけるRuntimeはContainerの管理を司るプログラムである。Runtimeはbundleから設定ファイルを読み込み、それに基づいてコンテナを生成、コンテナ内でプロセスを起動し、その他のコンテナライフサイクル管理を実行する[7]

OCI Runtime Specに準拠した様々なコンテナランタイムが実装されている。

他にも様々なランタイムが開発された。

  • RailCar: Rustで実装されたOCI Runtime実装 (開発終了)

filesystem bundle

OCIにおける filesystem bundle は、コンテナに必要な全ファイルが定められた形式で配置された1つのセットである[14]。bundleは設定情報を含むconfig.jsonおよびコンテナのrootファイルシステムから成る。Runtimeはコンテナidとfilesystem bundleからコンテナを生成する[15]

OCI Image

脚注

外部リンク

Related Articles

Wikiwand AI