Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 184|Odpowiedź: 0

Docker obrazuje różnicę między Manifest digest a Index digest

[Skopiuj link]
Opublikowano 2025-11-13 10:56:32 | | | |
Manifest Digest

Odnosi się do unikalnego identyfikatora manifestu konkretnej platformy (np. linux/amd64).
Jest to skrót zawartości tego pliku manifestu (zwykle SHA-256) w formacie: SHA256:...
Każdy manifest opisuje konkretną warstwę, konfiguracyjny blob oraz metadane w czasie działania.
Jeśli pobierasz obraz jednej architektury (np. obsługiwany jest tylko amd64), to uruchamiasz manifest digest.

Indeks Digest

Odnosi się do podsumowania indeksu lustrzanego (lista manifestów lub indeks OCI).
Jest używany do obsługi obrazów wieloarchitekturowych, które nie zawierają bezpośrednio warstwy obrazu, lecz zawierają manifest digesty odpowiadające wielu różnym platformom.
To odpowiednik "listy wskaźników", która mówi klientowi: "Jeśli jesteś arm64, użyj tego skrótu; Jeśli jesteś amd64, użyj tego digestu".
Często spotykane w wieloplatformowych obrazach tworzonych i przesyłanych za pomocą Docker Buildx.

Indeks vs manifest

  • Index Digest: Jak spis treści książki wielojęzycznej, mówi ci, który rozdział jest po chińsku, a który po angielsku.
  • Manifest Digest: Konkretne rozdziały w wersji językowej, które można czytać bezpośrednio.

Jak pokazano poniżej:



Test obrazu Nginx

Po pierwsze, upewnij się, że sieć jest dostępna:https://registry-1.docker.io/v2/, jak pokazano na poniższym rysunku:



Adres:Logowanie do linku jest widoczne.

Polecenie view indeksowego digestu:
Wyniki są następujące:
{
   "schemaVersion": 2,
   "mediaType": "application/vnd.oci.image.index.v1+json",
   "manifestuje": [
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 2290,
         "digest": "SHA256:bd1578eec775d0b28fd7f664b182b7e1fb75f1dd09f92d865dababe8525dfe8b",
         "platform": {
            "Architektura": "AMD64",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 841,
         "digest": "sha256:0c798fdea148c2a4aa684526de6dc2baeed661e364ac2ef3f2ef7693fb1c1029",
         "platform": {
            "architektura": "nieznane",
            "OS": "Nieznany"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 2292,
         "digest": "sha256:5dd53c4c2197dda60eec710dee3496b37b54745745e770bf7ba5841390edbae2",
         "platform": {
            "architektura": "ramię",
            "OS": "Linux",
            "wariant": "v5"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 841,
         "digest": "sha256:4b2afec60ddfb19ec75f5fb15a055a9b2671b7a344c48815b43098dd5b1bfed8",
         "platform": {
            "architektura": "nieznane",
            "OS": "Nieznany"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 2292,
         "digest": "SHA256:e7b13d0becb2bfe336926aeb4f762deBC2a3ba0ece7b2d48910fe5c94667aa9b",
         "platform": {
            "architektura": "ramię",
            "OS": "Linux",
            "wariant": "v7"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 841,
         "digest": "SHA256:e43007B688de2eab645b9c679cac0aadcab6f5658077cc218c75d7f3b81dfff3",
         "platform": {
            "architektura": "nieznane",
            "OS": "Nieznany"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 2292,
         "digest": "sha256:63a931a2f5772f57ed7537f19330ee231c0550d1fbb95ee24d0e0e3e849bae33",
         "platform": {
            "Architektura": "ARM64",
            "OS": "Linux",
            "wariant": "v8"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 841,
         "digest": "sha256:36198c74d4f6dc69c85e84e08bd575423cb2b8734036e0c13d13d0ef8c575d42",
         "platform": {
            "architektura": "nieznane",
            "OS": "Nieznany"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 2289,
         "digest": "SHA256:AC27e318CFF1c5340d9a2c2d8DB5F0A374DABFEf285F81348008E01Bd980D4D",
         "platform": {
            "architektura": "386",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 841,
         "digest": "SHA256:DCB4B9A4f4B0547645AdBc05A7C6A9fBed5C06BC68521875CDC6Be518A4AFa0",
         "platform": {
            "architektura": "nieznane",
            "OS": "Nieznany"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 2292,
         "digest": "SHA256:9e20a218b4054bee7c688bb34c86de076f44fc8c85d51fa93a567dd62bb7225d",
         "platform": {
            "Architektura": "Ppc64LE",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 841,
         "digest": "SHA256:bf59f6482ee5ca10fa33ffb269872719ae1b536bfe24cee02e2c4e0959b048e5",
         "platform": {
            "architektura": "nieznane",
            "OS": "Nieznany"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 2292,
         "digest": "sha256:61da52d2a49c2e8db79132503f5e40796c13644843e9fff9858fe415517936",
         "platform": {
            "Architektura": "RISCv64",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 841,
         "digest": "sha256:649388a8bee7af8b33030867a0e2f7245065a8ee0bf7bd30e83b9f64fe27208a",
         "platform": {
            "architektura": "nieznane",
            "OS": "Nieznany"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 2290,
         "digest": "sha256:80d64129dd9588ab5e1969cb58e46e90b9f3944408e3f4811c3a18958da7e941",
         "platform": {
            "Architektura": "S390X",
            "OS": "Linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "rozmiar": 841,
         "digest": "sha256:0b43f48991de9b554893968d8e0b6fcd5a2aaa82b36d98b91246eadcaeeead97",
         "platform": {
            "architektura": "nieznane",
            "OS": "Nieznany"
         }
      }
   ]
}

Manifest digest do przeglądania poleceń:
Wyniki są następujące:
{
        "schemaVersion": 2,
        "mediaType": "application/vnd.oci.image.manifest.v1+json",
        "config": {
                "mediaType": "application/vnd.oci.image.config.v1+json",
                "digest": "sha256:d261fd19cb63238535ab80d4e1be1d9e7f6c8b5a28a820188968dd3e6f06072d",
                "rozmiar": 8748
        },
        "warstwy": [
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:d7ecded7702a5dbf6d0f79a71edc34b534d08f3051980e2c948fba72db3197fc",
                        "rozmiar": 29778104
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:266626526d42cf7fe5f56b933db3f4c59c0596b7e2c3a556ba5ec4981daf3e9d",
                        "rozmiar": 29970043
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:320b0949be89766f7c6a8746f1971021a8e8c84928af00454c0f9c6e38ebf54c",
                        "rozmiar": 628
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "SHA256:D921c57c6a81addac6ca451906699ca6ee8c01fd708805a928181c5370b0a30c",
                        "rozmiar": 956
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:9def903993e4ef9a3faa02bb893b0382768a4d466d51247bff1ea80b119377a1",
                        "rozmiar": 404
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:52bc359bcbd74bb3d11b94cf3c6d94bcf9bd2d3e450483fb978124ceddb9ca57",
                        "rozmiar": 1210
                },
                {
                        "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                        "digest": "sha256:e2f8e296d9df1dd5e2dc81e5e758f9762fdb932e982ac6873e36692c3e3c983",
                        "rozmiar": 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"
        }
}

Jak pokazano poniżej:





Poprzedni:ASP.NET Core (33) Pobranie pliku wyjściowego (chińska nazwa pliku)
Następny:Nginx wykorzystuje Gzip do optymalizacji wydajności strony internetowej (tuning)
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com