L’issue s’ouvre déjà remplie avec le titre et l’adresse de cette page.
Vous avez remarqué que docker pull nginx:1.25 ne télécharge pas toujours les mêmes layers ? Deux causes principales :
Plateforme différente (AMD64 vs ARM64) → layers différentes (images multi-arch)
Tag mutable → l'image a été rebuild/republishée
Pour comprendre ces comportements, il faut connaître le standard OCI (Open Container Initiative). Ce guide vous explique les concepts clés : tags, digests, manifests, multi-arch et artefacts.
L'Open Container Initiative (OCI) est une organisation qui définit les standards ouverts pour les conteneurs :
Spécification
Ce qu'elle définit
OCI Image
Format des images (layers, config, manifest)
OCI Runtime
Comment exécuter un conteneur (runc)
OCI Distribution
API des registries (push, pull, list)
Glissez pour voir
Pourquoi c'est important ? Grâce à l'OCI, une image buildée avec Docker fonctionne avec Podman, containerd, CRI-O. Un registry comme Harbor, Quay ou GHCR parle le même langage que Docker Hub.
Une image OCI est composée de 3 types d'objets, tous identifiés par leur digest (hash SHA256). C'est un système content-addressable : le contenu détermine l'identifiant, pas l'inverse.
Dans le schéma, suivez les flèches depuis le tag : il pointe vers le manifest, qui référence à son tour la config et chaque layer par leur digest.
Règle d'or : en production, pinnez par digest, pas par tag. Un tag versionné comme v1.2.3 n'est pas pour autant immuable : il peut être republié, sauf si le registry l'interdit par une politique.
Un manifest list est un manifest spécial qui contient des références vers plusieurs manifests, un par architecture.
Le schéma suit un docker pull : le client lit la manifest list, retient le manifest de sa plateforme (les autres restent en pointillés), puis télécharge les layers correspondants.
Résolution multi-architecture : le client linux/amd64 demande nginx:1.25, reçoit la manifest list, choisit le manifest amd64 parmi amd64, arm64 et arm/v7, télécharge ses layers et obtient l'image locale ; docker buildx crée la manifest list.① GET② choix de la plateforme③ pull④ image localecrée la manifest listClientlinux/amd64Manifest listnginx:1.25Manifest amd64layers spécifiquesManifest arm64layers spécifiquesManifest arm/v7layers spécifiquesLayers amd64layer1.tar.gz, layer2.tar.gzImage localeprête à lancerdocker buildx build--platform …
Depuis mars 2024, les specs OCI 1.1 permettent d'associer des artefacts à une image via le champ subject. Cela résout un problème majeur : comment savoir quels SBOM, signatures et attestations sont liés à une image ?
Dans le schéma, chaque artefact (signature, SBOM, attestation, rapport de vulnérabilités) pointe vers l'image par son champ subject, et la Referrers API les liste tous à partir du digest de l'image.
La Referrers API (OCI 1.1) retrouve, à partir du digest d'une image, les artefacts qui la visent par leur champ subject : signature Cosign, SBOM, attestation de provenance SLSA et rapport de vulnérabilités.subjectsubjectsubjectsubjectImagemyapp:v1.0sha256:abc123…SignatureCosignSBOMSPDX / CycloneDXAttestationprovenance SLSARapport de vulnérabilitésTrivy / GrypeReferrers APIGET /v2/‹name›/referrers/‹digest›liste tous les artefacts liés
Chaque outil du tableau a son guide : ORAS pour manipuler des artefacts OCI, Skopeo pour inspecter et copier des images sans daemon, et Crane, la CLI de Google pour manipuler des images OCI. La stratégie de tags, le cache, le multi-arch et la promotion d'une image d'un environnement à l'autre sont traités dans CI/CD d'images. Maintenant que le format OCI est clair, la supply chain des images (SBOM, scan, signature) en tire les bases DevSecOps pour des images de confiance.
Vérifions que vous avez assimilé les concepts OCI essentiels : tags vs digests, manifests, multi-arch et artefacts.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
7 questions
5 min.
80% requis
Informations
Le chronomètre démarre au clic sur Démarrer
Questions à choix multiples, vrai/faux et réponses courtes
Vous pouvez naviguer entre les questions
Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
⏱️--:--
0 / 7
Vérification
(0/0)
--:--
0%
0Correctes
0À revoir
0:00Temps
-Niveau
Score par domaine
Un domaine regroupe plusieurs guides et reçoit plusieurs questions : son score est plus fiable qu'un score par thème, qui porte souvent sur une seule question.
Bilan
Points forts
Aucun sujet réussi à 80 % sur au moins deux questions pour l’instant.