Термин · Глоссарий B2B-ПО

OCI Image (OCI Image)

OCI Image – стандартный формат образа контейнера, определённый Open Container Initiative (основана Docker и CoreOS в 2015). Обеспечивает совместимость образов между различными контейнерными движками: Docker, Podman, containerd, CRI-O и любыми OCI-совместимыми runtime.

Буква «O» В категориях: 4 Платформ: 4+

Введение

OCI Image – открытый стандарт формата образа контейнера, разработанный Open Container Initiative (OCI). OCI основана в июне 2015 года при Linux Foundation совместно Docker и CoreOS с целью стандартизировать форматы контейнеров и предотвратить фрагментацию экосистемы.

До OCI каждый движок контейнеров имел собственный формат образов. Стандартизация позволила создавать образ один раз и запускать на любом OCI-совместимом runtime: Docker, Podman, containerd, CRI-O, Kata Containers и других.

История и контекст

OCI Image Specification v1.0 опубликована в 2017 году. Она основана на формате образов Docker v2, donated Docker'ом в OCI. Одновременно была стандартизирована OCI Runtime Specification (runc – референсная реализация) и OCI Distribution Specification (протокол реестра образов).

Kubernetes в версии 1.20+ перешёл на containerd как стандартный container runtime вместо dockershim, что закрепило OCI Image как единственный стандарт в production K8s-средах.

Как это работает

OCI Image состоит из четырёх компонентов:

  • Image Index (опционально): указатель на манифесты для разных архитектур (amd64, arm64) и ОС – multi-platform образ.
  • Image Manifest: JSON-документ, описывающий образ: версию, конфигурацию и список слоёв. mediaType содержит строку "oci" для OCI-образов.
  • Image Configuration: JSON с метаданными: CMD, ENTRYPOINT, ENV, Labels, архитектура, история слоёв.
  • Filesystem Layers: набор слоёв (tar.gz archives), каждый из которых содержит изменения файловой системы (добавление/изменение/удаление файлов). Слои накладываются через overlay filesystem (OverlayFS).

Уникальность образа определяется SHA256-дайджестом манифеста: image@sha256:abc.... Это обеспечивает immutability и верифицируемость образов.

Где применяется

  • Kubernetes: все образы деплоятся в K8s-кластерах в формате OCI через containerd или CRI-O.
  • CI/CD pipelines: сборка и публикация образов через docker build, buildah или Kaniko – все создают OCI-совместимые образы.
  • Container Registries: Docker Hub, Harbor, Yandex Container Registry, Nexus хранят OCI Image по протоколу OCI Distribution Spec.
  • Artifact Storage: OCI Image spec используется для хранения не только контейнеров, но и Helm-чартов, WASM-модулей и других артефактов.

Преимущества и ограничения

Преимущества: полная переносимость образов между движками; иммутабельность и верифицируемость через SHA256; экономия хранилища через дедупликацию слоёв; открытый стандарт без vendor lock-in.

Ограничения: глубокий стек слоёв увеличивает время pull'а; большие базовые образы; сложность отладки многослойной файловой системы.

Связь с другими понятиями

OCI Image – фундамент для Docker, Podman, containerd и CRI-O. Helm-чарты могут храниться в OCI-реестрах. Kubernetes использует OCI Image через Container Runtime Interface (CRI). CNI обеспечивает сетевое подключение для запущенных OCI-контейнеров.

Понятия из глоссария Цифрового маркетплейса, которые часто встречаются вместе с термином «OCI Image».

Платформы класса «OCI Image»

Решения из каталога Цифрового маркетплейса, относящиеся к этому классу ПО. Карточки ведут на полные карточки платформ с тарифами, обзорами и кейсами внедрения.

ПБ

Платформа боцман

Kubernetes и контейнерная оркестрация
Российская гибридная Kubernetes-платформа для централизованного управления мультикластерами контейнеров в корп...
Цена по запросу
★ 4.3
Подробнее →

Категории каталога

Разделы каталога Цифрового маркетплейса, в которые входят решения, использующие «OCI Image».

Где применяется

Отрасли, в которых «OCI Image» используется на практике. Откройте отраслевой раздел Цифрового маркетплейса, чтобы увидеть подходящие решения, кейсы и новости.

Частые вопросы про OCI Image

Что такое OCI Image?

Стандартный формат образа контейнера, определённый Open Container Initiative. Обеспечивает совместимость образов между Docker, Podman, containerd, CRI-O и другими движками.

Чем OCI Image отличается от Docker Image?

OCI Image основан на формате Docker v2 Image, donated Docker'ом в OCI. Функционально они очень похожи, но OCI – открытый стандарт без vendor control. Современный docker build создаёт OCI-совместимые образы.

Что такое Image Manifest?

JSON-документ, описывающий образ: список слоёв файловой системы, конфигурацию (CMD, ENV), архитектуру. Идентифицируется SHA256-дайджестом – это гарантирует иммутабельность.

Как работают слои (layers) в OCI Image?

Каждый RUN/COPY в Dockerfile создаёт новый слой-архив с изменениями файловой системы. При запуске контейнера слои накладываются через OverlayFS. Слои кешируются и повторно используются между образами.

Как хранить Helm-чарты как OCI Artifact?

Начиная с Helm 3.8, чарты можно хранить в OCI-реестрах: helm push chart.tgz oci://registry/repo. Поддерживается Docker Hub, Harbor, Yandex Container Registry.

Что такое multi-platform OCI Image?

Образ с Image Index, указывающим на разные манифесты для amd64, arm64 и других архитектур. При pull автоматически выбирается манифест для текущей архитектуры хоста.