Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 184|Ответ: 0

Docker images — разница между дайджестом Manifest и Index digest

[Скопировать ссылку]
Опубликовано 2025-11-13 10:56:32 | | | |
Manifest Digest

Он относится к уникальному идентификатору манифеста конкретной платформы (например, linux/amd64).
Это хэш содержимого этого файла манифеста (обычно SHA-256) в формате: SHA256:...
Каждый манифест описывает конкретный слой, конфигурационный blob и метаданные во время выполнения.
Если вы вытягиваете образ одной архитектуры (например, поддерживается только amd64), то вы работаете с манифест-дайджетом.

Индексный дайджест

Относится к сводке зеркального индекса (списка манифеста или индекса OCI).
Он используется для поддержки мультиархитектурных изображений, которые не содержат напрямую слой изображения, а перечисляют manifest-дайджесты, соответствующие нескольким платформам.
Это эквивалентно «списку указателей», который говорит клиенту: «Если вы 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:bd1578eec775d0b28fd7f664b182b7e1fb75f1dd09f9f92d865dababe8525dfe8b",
         "платформа": {
            «архитектура»: «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,
         "Дайджест": "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:36198C74d4F6dc69C85E84e08bd575423cB2B8734036E0c13d13d0ef8c575d42",
         "платформа": {
            «архитектура»: «неизвестна»,
            "OS": "Неизвестно"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         «размер»: 2289,
         "дайджест": "sha256:ac27e318cff1c5340d9a2c2d8db5f0a374dabfe1f285f81348008e01bd980d4d",
         "платформа": {
            «архитектура»: «386»,
            "OS": "linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         «размер»: 841,
         "дайджест": "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,
         "дайджест": "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,
         "дайджест": "sha256:80d64129dd9588ab5e1969cb58e46e90b9f3944408e3f4811c3a18958da7e941",
         "платформа": {
            «архитектура»: «s390x»,
            "OS": "linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         «размер»: 841,
         "дайджест": "sha256:0b43f48991de9b554893968d8e0b6fcd5a2a82b36d98b91246eadcaead97",
         "платформа": {
            «архитектура»: «неизвестна»,
            "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",
                        "дайджест": "sha256:e2f8e296d9df1dd5e2ddc81e5e758f9762fdb932e982ac6873e36692c3e3c983",
                        «размер»: 1398
                }
        ],
        "аннотации": {
                "com.docker.official-images.bashbrew.arch": "amd64",
                "org.opencontainers.image.base.digest": "sha256:ae614fe111cb373155bf26b938154c34bed87aa701f2f55a4ef03f872e4314ab0",
                "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