Skip to content

Что такое OCI image

Коротко:

OCI (Open Container Initiative) — standards organisation (Linux Foundation, 2015), которая defines формат container images + runtime + distribution. Docker, containerd, CRI-O — все compatible с OCI. Image = tarball layers + JSON manifest. OCI registry (распространение): Docker Hub, GHCR, ECR, Harbor. С 2022 Helm charts также distribute через OCI registries.

Ниже: подробности, пример, смежные термины, FAQ.

Подробности

  • Image spec: manifest + config + layers (tar.gz каждый)
  • Distribution spec: HTTP API для push/pull с registry
  • Runtime spec: как runtime запускает container (runc, crun implementations)
  • Multi-arch: manifest list для x86_64 + arm64 + s390x
  • Artifacts: не только images — Helm charts, SBOMs, policies — все в OCI format

Пример

# Inspect OCI manifest
docker manifest inspect nginx:latest
# Or with skopeo:
skopeo inspect --raw docker://nginx:latest

# Multi-arch build
docker buildx build --platform linux/amd64,linux/arm64 -t myimage:v1 .

# Push Helm chart as OCI
helm push mychart-1.0.0.tgz oci://ghcr.io/me/charts

Смежные термины

Больше по теме

Часто задаваемые вопросы

OCI vs Docker image?

Synonyms сейчас. Docker donated image format в OCI в 2015. Docker images — OCI images. Некоторые legacy formats (v1 Docker manifest) не OCI, но deprecated.

Registry choice?

Docker Hub: free но rate-limited (100 pulls/6h anonymous). GHCR: free для public. ECR: $$ но tight AWS integration. Harbor: self-host.

Signing/verification?

Sigstore (Cosign) — sign OCI artifacts + verify provenance. SBOM (Software Bill of Materials) — attach список deps к image. Policy enforcement — admission controllers.