簡體   English   中英

如何獲取位於私有注冊表中的Docker Image Tag的狀態

[英]How to get the status of Docker Image Tag that lies in a private registry

是否可以通過API或CLI獲取私有存儲庫中的Docker映像的狀態?

用例:

我正在嘗試將具有特定標簽的Docker映像推送到私有注冊表中。 推送之后,我需要知道它是否真的被推送了。 如果我通過“圖像名稱”和“圖像標簽”,則需要知道該圖像的狀態。

我在Docker API文檔中進行了大量搜索,但找不到任何解決方案。

docker push registry/repo:tag是一個很好的確認。 如果您想使用cli進行驗證,只需再次docker pull registry/repo:tag鏡像docker pull registry/repo:tag

V2 Registry API中,您可以檢索存儲庫標簽的清單

GET /v2/<repo>/manifests/<tag>

所以

$ docker pull busybox:latest
$ docker tag busybox:latest localhost:5000/busybox:latest
$ docker push 10.8.8.8:5000/busybox:latest
The push refers to a repository [localhost:5000/busybox]
c0de73ac9968: Pushed 
latest: digest: sha256:68effe31a4ae8312e47f54bec52d1fc925908009ce7e6f734e1b54a4169081c5 size: 527

$ curl -si http://localhost:5000/v2/busybox/manifests/latest

哪個返回

HTTP/1.1 200 OK
Content-Length: 2735
Content-Type: application/vnd.docker.distribution.manifest.v1+prettyjws
Docker-Content-Digest: sha256:45ed6b2591c5e9be6df88febcef2fb613d45eea5883a1cc80fecde4c6c3c2c11
Docker-Distribution-Api-Version: registry/2.0
Etag: "sha256:45ed6b2591c5e9be6df88febcef2fb613d45eea5883a1cc80fecde4c6c3c2c11"
X-Content-Type-Options: nosniff
Date: Mon, 13 Mar 2017 04:16:00 GMT

{
   "schemaVersion": 1,
   "name": "busybox",
   "tag": "latest",
   "architecture": "amd64",
   "fsLayers": [
      {
         "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
      },
      {
         "blobSum": "sha256:04176c8b224aa0eb9942af765f66dae866f436e75acef028fe44b8a98e045515"
      }
   ],
   "history": [
      {
         "v1Compatibility": "{\"architecture\":\"amd64\",\"config\":{\"Hostname\":\"1295ff10ed92\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"],\"Cmd\":[\"sh\"],\"Image\":\"sha256:0d7e86beb406ca2ff3418fa5db5e25dd6f60fe7265d68a9a141a2aed005b1ae7\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":{}},\"container\":\"d12e9fb4928df60ac71b4b47d56b9b6aec383cccceb3b9275029959403ab4f73\",\"container_config\":{\"Hostname\":\"1295ff10ed92\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"],\"Cmd\":[\"/bin/sh\",\"-c\",\"#(nop) \",\"CMD [\\\"sh\\\"]\"],\"Image\":\"sha256:0d7e86beb406ca2ff3418fa5db5e25dd6f60fe7265d68a9a141a2aed005b1ae7\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":{}},\"created\":\"2017-03-09T18:28:04.586987216Z\",\"docker_version\":\"1.12.6\",\"id\":\"21bd05c98a33998aba2cea975e0fcdc4c8b051070b70ed36f28c0bc55bcdacb6\",\"os\":\"linux\",\"parent\":\"86549330fef190e649817430dfaba05934d46b450fe2004cc1e2afc36587054c\",\"throwaway\":true}"
      },
      {
         "v1Compatibility": "{\"id\":\"86549330fef190e649817430dfaba05934d46b450fe2004cc1e2afc36587054c\",\"created\":\"2017-03-09T18:28:03.975884948Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ADD file:c9ecd8ff00c653fb652ad5a0a9215e1f467f0cd9933653b8a2e5e475b68597ab in / \"]}}"
      }
   ],
   "signatures": [
      {
         "header": {
            "jwk": {
               "crv": "P-256",
               "kid": "VQYK:XW62:J7X2:AQVH:VHUG:RXKT:QI6P:KERD:5IXL:4A6V:2JAT:46HP",
               "kty": "EC",
               "x": "gKuod_XxG1k5NYCD3BLrYZTDNfD2o19UrihkP7hKBhU",
               "y": "lkrBDaDkjdFGJE2cmhQCFNyeUeczAegPBeseor3Kz3I"
            },
            "alg": "ES256"
         },
         "signature": "2Z33_qBoBFeS7Pvash6Mh3yUq2bXfbHUO3SXG4QA6GFXoJ2kVAhoXr8v4kGpjVC2CcRVsYcP1duv9Yjc8bSLog",
         "protected": "eyJmb3JtYXRMZW5ndGgiOjIwODgsImZvcm1hdFRhaWwiOiJDbjAiLCJ0aW1lIjoiMjAxNy0wMy0xM1QwNDoxNjowMFoifQ"
      }
   ]
}

V2注冊表使用不同的存儲格式,這也意味着不同的摘要校驗和。 您可能需要在history數組中查找v1Compatibility以將本地V1映像清單的詳細信息( v1Compatibility docker inspect local/image:tag )與遠程V2存儲相匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM