Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 184|Risposta: 0

Immagini Docker: la differenza tra Manifest digest e Index digest

[Copiato link]
Pubblicato il 13-11-2025 alle 10:56:32 | | | |
Manifest Digest

Si riferisce all'identificatore unico del manifesto di una specifica piattaforma (ad esempio linux/amd64).
È un hash del contenuto di quel file manifesto (di solito SHA-256) nel formato: SHA256:...
Ogni manifesto descrive un livello specifico, un blob di configurazione e i metadati di runtime.
Se estrai un'immagine di una singola architettura (ad esempio solo amd64 è supportato), allora stai gestendo un manifest digest.

Index Digest

Si riferisce a un riassunto di un indice speculare (lista manifesti o indice OCI).
Viene utilizzato per supportare immagini multi-architettura, che non contengono direttamente il livello immagine, ma elencano i manifest digest corrispondenti a più piattaforme diverse.
È equivalente a una "lista di puntatori" che dice al cliente: "Se sei arm64, usa questo digest; Se sei amd64, usa quel digest".
Comunemente presente in immagini multipiattaforma costruite e distribuite tramite Docker Buildx.

Indice vs Manifesto

  • Index Digest: Come un indice di un libro multilingue, ti dice quale capitolo è in cinese e quale in inglese.
  • Manifest Digest: capitoli specifici in una versione linguistica che possono essere letti direttamente.

Come mostrato di seguito:



Test dell'immagine Nginx

Per prima cosa, assicurati che la rete sia accessibile:https://registry-1.docker.io/v2/, come mostrato nella figura sottostante:



Indirizzo:Il login del link ipertestuale è visibile.

Comando di visualizzazione digest indice:
L'output è il seguente:
{
   "schemaVersione": 2,
   "mediaType": "application/vnd.oci.image.index.v1+json",
   "manifesta": [
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 2290,
         "digest": "sha256:bd1578eec775d0b28fd7f664b182b7e1fb75f1dd09f92d865dababe8525dfe8b",
         "piattaforma": {
            "architettura": "AMD64",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 841,
         "digest": "sha256:0c798fdea148c2a4aa684526de6dc2baeed661e364ac2ef3f2ef7693fb1c1029",
         "piattaforma": {
            "architettura": "sconosciuto",
            "OS": "sconosciuto"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 2292,
         "digest": "sha256:5dd53c4c2197dda60eec710dee3496b37b5474545e770bf7ba5841390edbae2",
         "piattaforma": {
            "architettura": "braccio",
            "OS": "Linux",
            "variante": "v5"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 841,
         "digest": "sha256:4b2afec60ddfb19ec75f5fb15a055a9b2671b7a344c48815b43098dd5b1b1bfed8",
         "piattaforma": {
            "architettura": "sconosciuto",
            "OS": "sconosciuto"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 2292,
         "digest": "sha256:e7b13d0becb2bfe336926aeb4f762debc2a3ba0ece7b2d48910fe5c94667aa9b",
         "piattaforma": {
            "architettura": "braccio",
            "OS": "Linux",
            "variante": "v7"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 841,
         "digest": "sha256:e43007b688de2eAB645b9c679CAC0aadcab6f5658077cc218c75d7f3b81dfff3",
         "piattaforma": {
            "architettura": "sconosciuto",
            "OS": "sconosciuto"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 2292,
         "digest": "sha256:63a931a2f5772f57ed7537f19330ee231c0550d1fbb95ee24d0e0e3e849bae33",
         "piattaforma": {
            "architettura": "arm64",
            "OS": "Linux",
            "variante": "V8"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 841,
         "digest": "sha256:36198c74d4f6dc69c85e84e08bd575423cb2b8734036e0c13d13d0ef8c575d42",
         "piattaforma": {
            "architettura": "sconosciuto",
            "OS": "sconosciuto"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 2289,
         "digest": "sha256:ac27e318cff1c5340d9a2c2d8db5f0a374dabfe1f285f81348008e01bd980d4d",
         "piattaforma": {
            "architettura": "386",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 841,
         "digest": "Sha256:dcb4b9a4f4b0547645addbc05a7c6a9fbed5c06bc68521875cdc6be518a4afa0",
         "piattaforma": {
            "architettura": "sconosciuto",
            "OS": "sconosciuto"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 2292,
         "digest": "sha256:9e20a218b4054bee7c688bb34c86de076f4fc8c85d51fa93a567dd62bb7225d",
         "piattaforma": {
            "architettura": "ppc64le",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 841,
         "digest": "sha256:bf59f6482ee5ca10fa33ffb269872719ae1b536bfe24cee02e2c4e0959b048e5",
         "piattaforma": {
            "architettura": "sconosciuto",
            "OS": "sconosciuto"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 2292,
         "digest": "sha256:61da52d2a49c2e8db79132503f5e40796c13644843e9fbf5f9858fe415517936",
         "piattaforma": {
            "architettura": "RISCV64",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 841,
         "digest": "sha256:649388a8bee7af8b33030867a0e2f7245065a8ee0bf7bd30e83b9f64fe27208a",
         "piattaforma": {
            "architettura": "sconosciuto",
            "OS": "sconosciuto"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 2290,
         "digest": "sha256:80d64129dd9588ab5e1969cb58e46e90b9f3944408e3f4811c3a18958da7e941",
         "piattaforma": {
            "architettura": "s390x",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "dimensione": 841,
         "digest": "sha256:0b43f48991de9b554893968d8e0b6fcd5a2aaa82b36d98b91246eadcaeeead97",
         "piattaforma": {
            "architettura": "sconosciuto",
            "OS": "sconosciuto"
         }
      }
   ]
}

Manifesta il digest per visualizzare i comandi:
L'output è il seguente:
{
        "schemaVersione": 2,
        "mediaType": "application/vnd.oci.image.manifest.v1+json",
        "config": {
                "mediaType": "application/vnd.oci.image.config.v1+json",
                "digest": "sha256:d261fd19cb63238535ab80d4e1be1d9e7f6c8b5a28a820188968dd3e6f06072d",
                "dimensione": 8748
        },
        "strati": [
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:d7ecded7702a5dbf6d0f79a71edc34b534d08f3051980e2c948fba72db3197fc",
                        "dimensione": 29778104
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:266626526d42cf7fe5f56b933db3f4c59c0596b7e2c3a556ba5ec4981daf3e9d",
                        "dimensioni": 29970043
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:320b0949be89766f7c6a8746f1971021a8e8c84928af00454c0f9c6e38ebf54c",
                        "dimensione": 628
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:d921c57c6a81addac6ca451906699ca6ee8c01fd708805a928181c5370b0a30c",
                        "dimensioni": 956
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:9def903993e4ef9a3faa02bb893b0382768a4d466d51247bff1ea80b119377a1",
                        "dimensione": 404
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "Sha256:52BC359bcbd74bb3d11B94CF3C6d94bCF9BD2D3E450483FB978124Ceddb9Ca57",
                        "Dimensione": 1210
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:e2f8e296d9df1dd5e2ddc81e5e758f9762fdb932e982ac6873e36692c3e3e3c983",
                        "dimensioni": 1398
                }
        ],
        "annotazioni": {
                "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"
        }
}

Come mostrato di seguito:





Precedente:ASP.NET Core (33) Download Output File (nome file cinese)
Prossimo:Nginx utilizza Gzip per ottimizzare le prestazioni del sito web (tuning)
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com