Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 184|Resposta: 0

Imagens Docker: a diferença entre Manifest digest e Index digest

[Copiar link]
Postado em 13-11-2025 às 10:56:32 | | | |
Manifest Digest

Refere-se ao identificador único do manifesto de uma plataforma específica (por exemplo, linux/amd64).
É um hash do conteúdo desse arquivo manifesto (geralmente SHA-256) no formato: SHA256:...
Cada manifesto descreve uma camada específica, blob de configuração e metadados de runtime.
Se você puxar uma imagem de uma única arquitetura (por exemplo, apenas o amd64 é suportado), então você está operando um manifest digest.

Index Digest

Refere-se a um resumo de um índice espelhado (lista de manifestos ou índice OCI).
Ele é usado para suportar imagens multiarquitetura, que não contêm diretamente a camada da imagem, mas listam resumos de manifestos correspondentes a múltiplas plataformas diferentes.
É equivalente a uma "lista de ponteiros" que diz ao cliente: "Se você é arm64, use este resumo; Se você é amd64, use esse digest".
Comumente encontrado em imagens multiplataforma construídas e lançadas usando o Docker Buildx.

Índice vs Manifesto

  • Índice Digest: Como o sumário de um livro multilíngue, ele indica qual capítulo está em chinês e qual em inglês.
  • Manifest Digest: Capítulos específicos em uma versão em idioma que podem ser lidos diretamente.

Como mostrado abaixo:



Teste de imagem Nginx

Primeiro, certifique-se de que a rede esteja acessível:https://registry-1.docker.io/v2/, como mostrado na figura abaixo:



Endereço:O login do hiperlink está visível.

Comando de visualização de resumo do índice:
A saída é a seguinte:
{
   "schemaVersion": 2,
   "mediaType": "application/vnd.oci.image.index.v1+json",
   "manifesta": [
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "tamanho": 2290,
         "digest": "sha256:bd1578eec775d0b28fd7f664b182b7e1fb75f1dd09f92d865dababe8525dfe8b",
         "plataforma": {
            "Arquitetura": "AMD64",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 841,
         "digest": "sha256:0c798fdea148c2a4aa684526de6dc2baeed661e364ac2ef3f2ef7693fb1c1029",
         "plataforma": {
            "arquitetura": "desconhecido",
            "OS": "Desconhecido"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 2292,
         "digest": "sha256:5dd53c4c2197dda60eec710dee3496b37b5474545e770bf7ba5841390edbae2",
         "plataforma": {
            "arquitetura": "braço",
            "OS": "Linux",
            "variante": "v5"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 841,
         "digest": "Sha256:4b2afec60ddfb19ec75f5fb15a055a9b2671b7a344c48815b43098dd5b1b1bfed8",
         "plataforma": {
            "arquitetura": "desconhecido",
            "OS": "Desconhecido"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 2292,
         "digest": "sha256:e7b13d0becb2bfe336926aeb4f762debc2a3ba0ece7b2d48910fe5c94667aa9b",
         "plataforma": {
            "arquitetura": "braço",
            "OS": "Linux",
            "variante": "v7"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 841,
         "digest": "sha256:e43007b688de2eab645b9c679cac0aadcab6f5658077cc218c75d7f3b81dfff3",
         "plataforma": {
            "arquitetura": "desconhecido",
            "OS": "Desconhecido"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 2292,
         "digest": "sha256:63a931a2f5772f57ed7537f19330ee231c0550d1fbb95ee24d0e0e3e849bae33",
         "plataforma": {
            "arquitetura": "arm64",
            "OS": "Linux",
            "variante": "V8"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 841,
         "digest": "Sha256:36198c74d4f6dc69c85e84e08bd575423cb2b8734036e0c13d13d0ef8c575d42",
         "plataforma": {
            "arquitetura": "desconhecido",
            "OS": "Desconhecido"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 2289,
         "digest": "sha256:ac27e318cff1c5340d9a2c2d8db5f0a374dabfe1f285f81348008e01bd980d4d",
         "plataforma": {
            "arquitetura": "386",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 841,
         "digest": "sha256:dcb4b9a4f4b0547645addbc05a7c6a9fbed5c06bc68521875cdc6be518a4afa0",
         "plataforma": {
            "arquitetura": "desconhecido",
            "OS": "Desconhecido"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 2292,
         "digest": "Sha256:9E20a218B4054Bee7c688bb34c86de076F44FC8C85d51FA93A567DD62BB7225D",
         "plataforma": {
            "arquitetura": "PPC64LE",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 841,
         "digest": "sha256:bf59f6482ee5ca10fa33ffb269872719ae1b536bfe24cee02e2c4e0959b048e5",
         "plataforma": {
            "arquitetura": "desconhecido",
            "OS": "Desconhecido"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 2292,
         "digest": "sha256:61da52d2a49c2e8db79132503f5e40796c13644843e9fbf5f9858fe415517936",
         "plataforma": {
            "arquitetura": "RISCV64",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 841,
         "digest": "sha256:649388a8bee7af8b33030867a0e2f7245065a8ee0bf7bd30e83b9f64fe27208a",
         "plataforma": {
            "arquitetura": "desconhecido",
            "OS": "Desconhecido"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "tamanho": 2290,
         "digest": "sha256:80d64129dd9588ab5e1969cb58e46e90b9f3944408e3f4811c3a18958da7e941",
         "plataforma": {
            "arquitetura": "s390x",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "Tamanho": 841,
         "digest": "sha256:0b43f48991de9b554893968d8e0b6fcd5a2aaa82b36d98b91246eadcaeeead97",
         "plataforma": {
            "arquitetura": "desconhecido",
            "OS": "Desconhecido"
         }
      }
   ]
}

Manifeste o resumo para visualizar comandos:
A saída é a seguinte:
{
        "schemaVersion": 2,
        "mediaType": "application/vnd.oci.image.manifest.v1+json",
        "config": {
                "mediaType": "application/vnd.oci.image.config.v1+json",
                "digest": "sha256:d261fd19cb63238535ab80d4e1be1d9e7f6c8b5a28a820188968dd3e6f06072d",
                "tamanho": 8748
        },
        "camadas": [
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:d7ecded7702a5dbf6d0f79a71edc34b534d08f3051980e2c948fba72db3197fc",
                        "tamanho": 29778104
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:266626526d42cf7fe5f56b933db3f4c59c0596b7e2c3a556ba5ec4981daf3e9d",
                        "tamanho": 29970043
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:320b0949be89766f7c6a8746f1971021a8e8c84928af00454c0f9c6e38ebf54c",
                        "Tamanho": 628
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:d921c57c6a81addac6ca451906699ca6ee8c01fd708805a928181c5370b0a30c",
                        "Tamanho": 956
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:9def903993e4ef9a3faa02bb893b0382768a4d466d51247bff1ea80b119377a1",
                        "tamanho": 404
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "Sha256:52BC359bcbd74bb3d11B94CF3C6d94BCF9Bd2D3E450483FB978124Ceddb9Ca57",
                        "Tamanho": 1210
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:e2f8e296d9df1dd5e2ddc81e5e758f9762fdb932e982ac6873e36692c3e3e3c9883",
                        "Tamanho": 1398
                }
        ],
        "anotações": {
                "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"
        }
}

Como mostrado abaixo:





Anterior:ASP.NET Core (33) Download de Saída de Arquivo (nome do arquivo chinês)
Próximo:O Nginx usa Gzip para otimizar o desempenho do site (ajuste)
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com