Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 184|Répondre: 0

Images Docker : la différence entre le digest Manifest et le digest Index

[Copié le lien]
Publié le 13-11-2025 à 10:56:32 | | | |
Manifest Digest

Il fait référence à l’identifiant unique du manifeste d’une plateforme spécifique (par exemple linux/amd64).
C’est un hachage du contenu de ce fichier manifest (généralement SHA-256) dans le format : SHA256 :...
Chaque manifeste décrit une couche spécifique, un blob de configuration et des métadonnées d’exécution.
Si vous extrayez une image d’une seule architecture (par exemple, seul amd64 est supporté), alors vous gérez un manifest digest.

Index Digest

Fait référence à un résumé d’un indice miroir (liste manifeste ou index OCI).
Il est utilisé pour prendre en charge les images multi-architectures, qui ne contiennent pas directement la couche image, mais listent les résumés manifestes correspondant à plusieurs plateformes différentes.
C’est l’équivalent d’une « liste de pointeurs » qui dit au client : « Si vous êtes arm64, utilisez ce digest ; Si vous êtes amd64, utilisez ce digest ».
On le trouve couramment dans les images multiplateformes créées et diffusées à l’aide de Docker Buildx.

Index vs Manifeste

  • Index Digest : Comme une table des matières d’un livre multilingue, il vous indique quel chapitre est en chinois et lequel est en anglais.
  • Manifest Digest : chapitres spécifiques dans une version linguistique qui peuvent être lus directement.

Comme montré ci-dessous :



Test d’image Nginx

Tout d’abord, assurez-vous que le réseau est accessible :https://registry-1.docker.io/v2/, comme montré dans la figure ci-dessous :



Adresse:La connexion hyperlientérée est visible.

Commande de vue de résumé de l’index :
La sortie est la suivante :
{
   « schemaVersion » : 2,
   « mediaType » : « application/vnd.oci.image.index.v1+json »,
   « manifeste » : [
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 2290,
         « digest » : « sha256 :bd1578eec775d0b28fd7f664b182b7e1fb75f1dd09f92d865dababe8525dfe8b »,
         « plateforme » : {
            « architecture » : « AMD64 »,
            « OS » : « Linux »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 841,
         « digest » : « sha256:0c798fdea148c2a4aa684526de6dc2baeed661e364ac2ef3f2ef7693fb1c1029 »,
         « plateforme » : {
            « architecture » : « inconnu »,
            « OS » : « inconnu »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 2292,
         « digest » : « sha256:5dd53c4c2197dda60eec710dee3496b37b54745745e770bf7ba5841390edbae2 »,
         « plateforme » : {
            « architecture » : « bras »,
            « OS » : « Linux »,
            « variante » : « v5 »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 841,
         « digest » : « Sha256:4b2afec60ddfb19ec75f5fb15a055a9b2671b7a344c48815b43098dd5b1b1bfed8 »,
         « plateforme » : {
            « architecture » : « inconnu »,
            « OS » : « inconnu »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 2292,
         « digest » : « sha256 :e7b13d0becb2bfe336926aeb4f762debc2a3ba0ece7b2d48910fe5c94667aa9b »,
         « plateforme » : {
            « architecture » : « bras »,
            « OS » : « Linux »,
            « variante » : « v7 »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 841,
         « digest » : « sha256 :e43007b688de2eab645b9c679cac0aadcab6f5658077cc218c75d7f3b81dfff3 »,
         « plateforme » : {
            « architecture » : « inconnu »,
            « OS » : « inconnu »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 2292,
         « digest » : « sha256:63a931a2f5772f57ed7537f19330ee231c0550d1fbb95ee24d0e0e3e849bae33 »,
         « plateforme » : {
            « architecture » : « arm64 »,
            « OS » : « Linux »,
            « variante » : « v8 »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 841,
         « digest » : « sha256:36198c74d4f6dc69c85e84e08bd575423cb2b8734036e0c13d13d0ef8c575d42 »,
         « plateforme » : {
            « architecture » : « inconnu »,
            « OS » : « inconnu »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 2289,
         « digest » : « sha256 :ac27e318cff1c5340d9a2c2d8db5f0a374dabfe1f285f81348008e01bd980d4d »,
         « plateforme » : {
            « architecture » : « 386 »,
            « OS » : « Linux »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 841,
         « digest » : « sha256 :dcb4b9a4f4b0547645addbc05a7c6a9fbed5c06bc68521875cdc6be518a4afa0 »,
         « plateforme » : {
            « architecture » : « inconnu »,
            « OS » : « inconnu »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 2292,
         « digest » : « sha256:9e20a218b4054bee7c688bb34c86de076f4fc8c85d51fa93a567dd62bb7225d »,
         « plateforme » : {
            « architecture » : « ppc64le »,
            « OS » : « Linux »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 841,
         « digest » : « sha256 :bf59f6482ee5ca10fa33ffb269872719ae1b536bfe24cee02e2c4e0959b048e5 »,
         « plateforme » : {
            « architecture » : « inconnu »,
            « OS » : « inconnu »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 2292,
         « digest » : « sha256:61da52d2a49c2e8db79132503f5e40796c13644843e9fbf5f9858fe415517936 »,
         « plateforme » : {
            « architecture » : « RISCV64 »,
            « OS » : « Linux »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 841,
         « digest » : « sha256:649388a8bee7af8b33030867a0e2f7245065a8ee0bf7bd30e83b9f64fe27208a »,
         « plateforme » : {
            « architecture » : « inconnu »,
            « OS » : « inconnu »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 2290,
         « digest » : « sha256:80d64129dd9588ab5e1969cb58e46e90b9f3944408e3f4811c3a18958da7e941 »,
         « plateforme » : {
            « architecture » : « s390x »,
            « OS » : « Linux »
         }
      },
      {
         « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
         « taille » : 841,
         « digest » : « Sha256:0b43F48991de9b554893968d8e0b6fcd5a2aa82b36d98b91246eadcaeeead97 »,
         « plateforme » : {
            « architecture » : « inconnu »,
            « OS » : « inconnu »
         }
      }
   ]
}

Manifestez le digest pour voir les commandes :
La sortie est la suivante :
{
        « schemaVersion » : 2,
        « mediaType » : « application/vnd.oci.image.manifest.v1+json »,
        « config » : {
                « mediaType » : « application/vnd.oci.image.config.v1+json »,
                « digest » : « sha256 :d261fd19cb63238535ab80d4e1be1d9e7f6c8b5a28a820188968dd3e6f06072d »,
                « taille » : 8748
        },
        « Couches » : [
                {
                        « mediaType » : « application/vnd.oci.image.layer.v1.tar+gzip »,
                        « digest » : « sha256 :d7ecded7702a5dbf6d0f79a71edc34b534d08f3051980e2c948fba72db3197fc »,
                        « taille » : 29778104
                },
                {
                        « mediaType » : « application/vnd.oci.image.layer.v1.tar+gzip »,
                        « digest » : « sha256:266626526d42cf7fe5f56b933db3f4c59c0596b7e2c3a556ba5ec4981daf3e9d »,
                        « taille » : 29970043
                },
                {
                        « mediaType » : « application/vnd.oci.image.layer.v1.tar+gzip »,
                        « digest » : « Sha256:320b0949BE89766F7c6A8746F1971021a8E8C84928af00454c0F9C6E38EBF54C »,
                        « taille » : 628
                },
                {
                        « mediaType » : « application/vnd.oci.image.layer.v1.tar+gzip »,
                        « digest » : « sha256 :d921c57c6a81addac6ca451906699ca6ee8c01FD708805a928181c5370b0a30c »,
                        « taille » : 956
                },
                {
                        « mediaType » : « application/vnd.oci.image.layer.v1.tar+gzip »,
                        « digest » : « sha256:9def903993e4ef9a3faa02bb893b0382768a4d466d51247bff1ea80b1119377a1 »,
                        « taille » : 404
                },
                {
                        « mediaType » : « application/vnd.oci.image.layer.v1.tar+gzip »,
                        « digest » : « Sha256:52BC359bcbd74bb3d11b94CF3C6d94bCF9BD2d3E450483fb978124Ceddb9Ca57 »,
                        « taille » : 1210
                },
                {
                        « mediaType » : « application/vnd.oci.image.layer.v1.tar+gzip »,
                        « digest » : « sha256 :e2f8e296d9df1dd5e2ddc81e5e758f9762fdb932e982ac6873e36692c3e3e3e3c983 »,
                        « taille » : 1398
                }
        ],
        « annotations » : {
                « com.docker.official-images.bashbrew.arch » : « amd64 »,
                « org.opencontainers.image.base.digest » : « sha256 :ae614fe11cb373155bf26b938154c34bed87aa701f2f55a4ef03f872e4314ab0 »,
                « org.opencontainers.image.base.name » : « debian :trixie-slim »,
                « org.opencontainers.image.created » : « 2025-11-04T04:05:55Z »,
                « org.opencontainers.image.revision » : « e4d5453581d9d3618f77c4aeccf2e6171a1cd6ff »,
                « org.opencontainers.image.source » : « https://github.com/nginx/docker-nginx.git#e4d5453581d9d3618f77c4aeccf2e6171a1cd6ff:mainline/debian »,
                « org.opencontainers.image.url » : « https://hub.docker.com/_/nginx »,
                « org.opencontainers.image.version » : « 1.29.3 »
        }
}

Comme montré ci-dessous :





Précédent:ASP.NET Téléchargement de fichier Core (33) (nom de fichier chinois)
Prochain:Nginx utilise Gzip pour optimiser la performance du site web (réglage)
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com