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

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は「取り組み・推進活動」の意味。コンテナ技術をオープンな標準仕様として整備する活動体だよ。
← 用語集にもどる