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.