Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 184|Отговор: 0

Docker изображенията – разликата между Manifest digest и Index digest

[Копирай линк]
Публикувано на 2025-11-13 10:56:32 | | | |
Manifest Digest

Той се отнася до уникалния идентификатор на манифеста на конкретна платформа (например linux/amd64).
Това е хеш на съдържанието на този манифест файл (обикновено SHA-256) във формат: SHA256:...
Всеки манифест описва конкретен слой, конфигурационен blob и метаданни за изпълнение на време.
Ако изтеглите изображение на една архитектура (например само amd64 се поддържа), тогава управлявате manifest digest.

Index Digest

Отнася се до обобщение на огледален индекс (списък на манифеста или индекс на OCI).
Използва се за поддръжка на изображения с много архитектури, които не съдържат директно слоя на изображенията, а изброяват манифестни дайджести, съответстващи на различни платформи.
Това е еквивалентно на "списък с указатели", който казва на клиента: "Ако си arm64, използвай този дайджест; Ако си amd64, използвай този дайджест".
Често се среща в мултиплатформени изображения, изградени и пуснати с Docker Buildx.

Индекс срещу Манифест

  • Index Digest: Подобно на съдържанието на многоезична книга, тя ви казва коя глава е на китайски и коя е на английски.
  • Manifest Digest: Специфични глави в езикова версия, които могат да се четат директно.

Както е показано по-долу:



Тест на изображение Nginx

Първо, уверете се, че мрежата е достъпна:https://registry-1.docker.io/v2/, както е показано на фигурата по-долу:



Адрес:Входът към хиперлинк е видим.

Команда за преглед на индексен дайджест:
Изходът е следният:
{
   "schemaVersion": 2,
   "mediaType": "application/vnd.oci.image.index.v1+json",
   "проявява": [
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 2290,
         "дайджест": "sha256:bd1578eec775d0b28fd7f664b182b7e1fb75f1dd09f92d865dababe8525dfe8b",
         "платформа": {
            "архитектура": "AMD64",
            "OS": "linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 841,
         "дайджест": "sha256:0c798fdea148c2a4aa684526de6dc2baeed661e364ac2ef3f2ef7693fb1c1029",
         "платформа": {
            "архитектура": "неизвестна",
            "OS": "Неизвестно"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 2292,
         "дайджест": "sha256:5dd53c4c2197dda60eec710dee3496b37b54745745e70bf7ba5841390edbae2",
         "платформа": {
            "архитектура": "ръка",
            "OS": "linux",
            "Вариант": "V5"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 841,
         "дайджест": "sha256:4b2afec60ddfb19ec75f5fb15a055a9b2671b7a344c48815b43098dd5b1bfed8",
         "платформа": {
            "архитектура": "неизвестна",
            "OS": "Неизвестно"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 2292,
         "Digest": "SHA256:E7B13d0BecB2BFE336926Aeb4F762debC2A3ba0Ece7B2D48910fe5C94667AA9B",
         "платформа": {
            "архитектура": "ръка",
            "OS": "linux",
            "Вариант": "V7"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 841,
         "дайджест": "sha256:e43007b688de2eab645b9c679cac0aadcab6f5658077cc218c75d7f3b81dfff3",
         "платформа": {
            "архитектура": "неизвестна",
            "OS": "Неизвестно"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 2292,
         "дайджест": "sha256:63a931a2f5772f57ed7537f19330ee231c0550d1fbb95ee24d0e0e3e849bae33",
         "платформа": {
            "архитектура": "arm64",
            "OS": "linux",
            "Вариант": "V8"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 841,
         "Дайджест": "SHA256:36198C74d4F6dc69C85E84E08Bd575423cB2B8734036E0C13D13D13D0ef8c575d42",
         "платформа": {
            "архитектура": "неизвестна",
            "OS": "Неизвестно"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 2289,
         "дайджест": "sha256:ac27e318cff1c5340d9a2c2d8db5f0a374dabfe1f285f81348008e01bd980d4d",
         "платформа": {
            "архитектура": "386",
            "OS": "linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 841,
         "Digest": "SHA256:DCB4B9A4F4B0547645addbC05A7C6A9fBED5C06BC68521875cDc6be518A4aFA0",
         "платформа": {
            "архитектура": "неизвестна",
            "OS": "Неизвестно"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 2292,
         "Дайджест": "SHA256:9E20a218B4054bee7C688bb34c86de076f44fc8c85d51fa93a567dd62bb7225d",
         "платформа": {
            "архитектура": "ppc64le",
            "OS": "linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 841,
         "Digest": "SHA256:BF59F6482ee5Ca10fa33FFB269872719ae1B536bfe24cee02E2C4E0959B048E5",
         "платформа": {
            "архитектура": "неизвестна",
            "OS": "Неизвестно"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 2292,
         "дайджест": "sha256:61da52d2a49c2e8db79132503f5e40796c13644843e9fbf5f9858fe415517936",
         "платформа": {
            "архитектура": "riscv64",
            "OS": "linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 841,
         "дайджест": "SHA256:649388a8bee7af8b33030867a0e2f7245065a8ee0bf7bd30e83b9f64fe27208a",
         "платформа": {
            "архитектура": "неизвестна",
            "OS": "Неизвестно"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 2290,
         "Digest": "SHA256:80d64129dd9588ab5E1969Cb58E46E90B9f3944408E3f4811C3A18958da7E941",
         "платформа": {
            "архитектура": "s390x",
            "OS": "linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "размер": 841,
         "дайджест": "SHA256:0b43f48991de9b554893968d8E0b6fcd5A2AAA82B36D98B91246eadcaead97",
         "платформа": {
            "архитектура": "неизвестна",
            "OS": "Неизвестно"
         }
      }
   ]
}

Манифест дайджест за преглед на командите:
Изходът е следният:
{
        "schemaVersion": 2,
        "mediaType": "application/vnd.oci.image.manifest.v1+json",
        "config": {
                "mediaType": "application/vnd.oci.image.config.v1+json",
                "Дайджест": "SHA256:D261fd19cb63238535ab80d4e1be1d9e7f6c8b5a28a820188968dd3e6f06072d",
                "размер": 8748
        },
        "слоеве": [
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "дайджест": "sha256:d7ecded7702a5dbf6d0f79a71edc34b534d08f3051980e2c948fba72db3197fc",
                        "размер": 29778104
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "дайджест": "SHA256:266626526d42cf7fe5f56b933db3f4c59c0596b7e2c3a556ba5ec4981daf3e9d",
                        "размер": 29970043
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "дайджест": "sha256:320b0949be89766f7c6a8746f1971021a8e8c84928af00454c0f9c6e38ebf54c",
                        "размер": 628
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "дайджест": "sha256:d921c57c6a81addac6ca451906699ca6ee8c01fd708805a928181c5370b0a30c",
                        "размер": 956
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "дайджест": "sha256:9def903993e4ef9a3faa02bb893b0382768a4d466d51247bff1ea80b119377a1",
                        "Размер": 404
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "дайджест": "SHA256:52bC359bcBd74bb3D11B94cf3C6D94bcf9bd2D3E450483fB978124ceddb9ca57",
                        "Размер": 1210
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:e2f8e296d9df1dd5e2ddc81e5e758f9762fdb932e982ac6873e36692c3e3c983",
                        "размер": 1398
                }
        ],
        "анотации": {
                "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"
        }
}

Както е показано по-долу:





Предишен:ASP.NET Core (33) Изтегляне на изход на файл (китайско име на файл)
Следващ:Nginx използва Gzip за оптимизиране на производителността на уебсайта (настройка)
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com