簡體   English   中英

如何在docker pull之前從不安全的注冊表中檢查圖像的壓縮大小?

[英]How to check compressed size of image from insecure registry before docker pull?

有多種方法可以在從 Docker Hub 拉取之前檢查壓縮圖像的大小,但是為了對不安全/域注冊表執行相同的操作,如何在拉取之前檢查下載大小?

在進行拉動時,我可以看到像這樣下載的每一層的大小,我可以總結一下以找到總大小。

7595c8c21622: Already exists
d13af8ca898f: Already exists
70799171ddba: Already exists
b6c12202c5ef: Already exists
ef50ae158fa8: Downloading [===============>                                   ]  74.18MB/239.3MB
e5665f29b73a: Downloading [=>                                                 ]  95.26MB/2.741GB
780c121f1da3: Downloading [========>                                          ]  75.27MB/462.5MB
5fc49bebd483: Waiting
592ff9f385a7: Waiting
80a3934684b4: Waiting
b523362dbfaa: Waiting
3bf96686ba27: Waiting
dd64f3b98c5f: Waiting
937238fb3569: Waiting
c39efc826c40: Waiting

但我想事先知道下載的總大小是多少。

Docker 為注冊表上的每個映像推送一個清單文件,其中包含所有下載客戶端都使用的校驗和、大小和其他信息,以便拉取層。

給定您的注冊表/圖像名稱,您可以inspect清單文件,總結每一層的大小以獲得總下載大小。

首先,啟用 Docker 的實驗性 CLI 功能。

  1. 暫時啟用:

    export DOCKER_CLI_EXPERIMENTAL=enabled

  2. 使其永久化:

    ~/.docker/config.json添加"experimental": "enabled"

檢查尺寸:

docker manifest inspect --insecure -v <registry_or_domain>/<image_name> | grep size | awk -F ':' '{sum+=$NF} END {print sum}' | xargs printf "%f\n" | numfmt --to=iec

printf將大小的科學記數法(如 3e+09) numfmt為浮點數, numfmt可以解析它。

暫無
暫無

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

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