как получить размер слоев изображения docker

#docker

#docker

Вопрос:

Я извлек пару изображений из своего частного репозитория. я могу видеть размер слоев, используя docker history <image-id> я не вижу фактического идентификатора слоя sha256 для слоев, вместо этого он отображается отсутствующим. Поэтому я не уверен, как я могу получить размер каждого слоя.

На самом деле, мне нужен размер каждого слоя на изображении.

я могу получить сведения о слоях из команды docker-inspect docker inspect <image-id> | jq .[].RootFS.Layers

 docker history f183414e30ab
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
f183414e30ab        16 months ago       /bin/sh -c apt-get update amp;amp; apt-get install…   317MB
<missing>           16 months ago       /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B
<missing>           16 months ago       /bin/sh -c mkdir -p /run/systemd amp;amp; echo 'do…   7B
<missing>           16 months ago       /bin/sh -c set -xe   amp;amp; echo '#!/bin/sh' > /…   745B
<missing>           16 months ago       /bin/sh -c [ -z "$(apt-get indextargets)" ]     987kB
<missing>           16 months ago       /bin/sh -c #(nop) ADD file:3ddd02d976792b6c6…   63.2MB
 

Проблема, которую пытаюсь решить: я пытаюсь получить размер слоев изображения docker, которые также были совместно использованы с другими изображениями.

Ответ №1:

Вы ищете команду docker system df

Комментарии:

1. Спасибо, Сандип. Кажется, я понял. я могу использовать docker system df -v его, чтобы показать общее и уникальное использование изображений, но я больше смотрю на размер общего слоя изображения. Например: изображения A и B имеют общий размер 8 ГБ. слой 3 из изображения A используется совместно с изображением B Общий размер, указанный в 8 ГБ, размер слоя 3 составляет 2 ГБ. но на самом деле я ищу использование общих слоев на диске