Skip to content
Latchkey

O que e o OCI? O padrao aberto por tras dos contineres

A Open Container Initiative (OCI) define padroes abertos para imagens e runtimes de continer, e por isso uma imagem construida com uma ferramenta roda com outra.

Os contineres so sao portateis porque a industria concordou com formatos comuns. A OCI, um projeto sob a Linux Foundation, mantem essas especificacoes. Elas sao a razao pela qual "imagem Docker" na verdade significa "imagem OCI" - e por que Podman, containerd, BuildKit e Kubernetes podem todos construir e rodar os mesmos artifacts.

As tres especificacoes

  • Image spec - o formato de uma imagem de continer (layers, manifest, config).
  • Runtime spec - como rodar um continer a partir de uma imagem descompactada.
  • Distribution spec - a API de registry para dar push e pull de imagens.

Por que a padronizacao importa

Antes do OCI, os formatos de imagem e runtime corriam o risco de se fragmentar por fornecedor. Os padroes fazem com que uma ferramenta de build e um runtime feitos por times diferentes interoperem - voce nao fica preso ao stack de um unico fornecedor.

O OCI em termos do dia a dia

Quando as pessoas dizem "imagem Docker", "container registry" ou "container runtime", os contratos subjacentes sao specs do OCI. O Docker popularizou os conceitos; o OCI os tornou um padrao aberto que todos implementam.

Alem dos contineres

A distribution spec do OCI agora e usada para armazenar mais do que imagens de continer - Helm charts, SBOMs e outros artifacts andam pelo mesmo protocolo de registry, tornando os registries stores de artifacts de proposito geral.

Por que a CI se beneficia

A portabilidade do OCI permite que voce construa com qualquer ferramenta que se encaixe (Docker, buildx, Buildah) e rode em qualquer lugar que fale OCI. Runners gerenciados constroem imagens OCI padrao rapidamente e as enviam para qualquer OCI registry, reexecutando blips transitorios para que o pipeline padrao simplesmente funcione.

Principais conclusões

  • O OCI padroniza os formatos de imagem, runtime e registry para contineres.
  • Esses padroes sao a razao pela qual as imagens sao portateis entre ferramentas e fornecedores.
  • A distribution spec agora armazena charts e outros artifacts tambem, nao so imagens.

Guias relacionados