【オーシーアイ(オープンコンテナイニシアティブ)】

OCI(Open Container Initiative) とは?

💡 コンテナ業界の「共通語」を決める標準化委員会
📌 このページのポイント
OCI標準がコンテナ互換性を保証する OCI標準 Image / Runtime / Distribution Spec ビルドツール Docker / Buildah / Kaniko ランタイム containerd / CRI-O / runc クラウドサービス AWS ECS / GKE / AKS オーケストレーター Kubernetes / Nomad OCI準拠 = どこでも動く互換性
OCI標準を中心にツールとランタイムが互換性を持つ
ひよこ ひよこ

OCI標準って何? コンテナの世界で何かルールを決めてるの?

ペンギン先生 ペンギン先生

そうだよ。OCIはコンテナの「イメージの形式」と「どう実行するか」を業界共通のルールとして定めた標準規格なんだ。

ひよこ ひよこ

規格がないと何が困るの?

ペンギン先生 ペンギン先生

DockerでビルドしたイメージがPodmanでは動かない、みたいな互換性の問題が起きるよ。OCIがあるおかげで「OCI準拠」なら何のツールでも動くようになったんだ。

ひよこ ひよこ

なんで2015年にできたの?

ペンギン先生 ペンギン先生

DockerコンテナをどんどんDockerの独自仕様で進めていくことを危惧して、DockerとCoreOSが協力してLinux Foundationの傘下でOCIを設立したんだよ。

ひよこ ひよこ

OCIが定めてる仕様って具体的には何があるの?

ペンギン先生 ペンギン先生

大きく3つあるよ。イメージ形式を定める「Image Spec」、コンテナの実行手順を定める「Runtime Spec」、イメージの配布方法を定める「Distribution Spec」だね。

ひよこ ひよこ

DockerKubernetesもOCI準拠なんだね!

ペンギン先生 ペンギン先生

うん。主要なすべてのコンテナツールがOCI準拠だよ。おかげでDockerでビルドしたイメージをKubernetesでもAmazon ECSでも問題なく動かせるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「OCI」って出てきたら「コンテナの形式・動かし方を統一した業界標準」と思えればだいたいOK!
📖 おまけ:英語の意味
「Open Container Initiative」 = オープンコンテナイニシアティブ
💬 Openは「開かれた」、Initiativeは「取り組み・推進活動」の意味。コンテナ技術をオープンな標準仕様として整備する活動体だよ。
← 用語集にもどる