Ce face docker manifest
Imaginea nginx:1.27 funcționează și pe un server Intel, și pe un Mac cu procesor Apple, pentru că eticheta indică o listă de manifeste (sau un index OCI): câte o imagine pentru fiecare platformă. La docker pull, Docker alege automat varianta potrivită. docker manifest inspect arată această listă direct din registru, fără să descarce imaginea.
Cu create și push poți combina imagini construite separat pentru fiecare arhitectură într-o singură etichetă. Astăzi, pentru imagini multi-arhitectură, varianta recomandată este docker buildx build --platform linux/amd64,linux/arm64 --push, care construiește și publică lista într-un singur pas; docker buildx imagetools inspect oferă o inspectare mai lizibilă.
Parametri
| Parametru | Descriere |
|---|---|
inspect IMAGINE |
Afișează manifestul sau lista de manifeste, în JSON. |
inspect --verbose |
Adaugă detalii (inclusiv straturile) pentru fiecare platformă. |
create LISTĂ IMG1 IMG2 |
Creează local o listă de manifeste din imagini deja publicate. |
annotate --os --arch |
Corectează platforma unei intrări din listă. |
push LISTĂ |
Publică lista în registru. |
rm LISTĂ |
Șterge lista creată local. |
Exemple
Exemplul 1: Ce platforme are o imagine
Ieșirea este scurtată; fiecare intrare are digest-ul și platforma ei.
docker manifest inspect nginx:1.27-alpine
Ieșire în terminal
{
"schemaVersion": 2,
"mediaType": "application/vnd.oci.image.index.v1+json",
"manifests": [
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 2068,
"digest": "sha256:4f2c9b1e…",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 2068,
"digest": "sha256:9a7d3e5c…",
"platform": {
"architecture": "arm64",
"os": "linux",
"variant": "v8"
}
},
...
]
}
Exemplul 2: O etichetă comună pentru două build-uri separate
Imaginile pentru amd64 și arm64 au fost construite și publicate separat (de exemplu pe două runnere CI); le unim sub eticheta 1.4.
docker manifest create firma/magazin-api:1.4 \
firma/magazin-api:1.4-amd64 \
firma/magazin-api:1.4-arm64
docker manifest push firma/magazin-api:1.4
Ieșire în terminal
Created manifest list docker.io/firma/magazin-api:1.4
sha256:2d8f4a6c0e1b3d5f7a9c2e4b6d8f0a1c3e5b7d9f2a4c6e8b0d1f3a5c7e9b2d4f
Greșeli frecvente
- Folosirea
docker manifest createcu imagini care există doar local: comanda lucrează cu imagini publicate în registru. Fă întâidocker pushpentru fiecare arhitectură. - Confuzia cu
docker image inspect: aceasta citește imaginea descărcată local (o singură platformă), nu lista de manifeste din registru.
Comenzi înrudite
docker history: Afișează straturile unei imagini, cu instrucțiunea Dockerfile care a creat fiecare strat și mărimea lui.docker search: Caută imagini în Docker Hub direct din terminal, cu filtre pentru imagini oficiale și număr minim de stele.