Мы можем искать доступные файлы изображений на веб-сайте докера следующим образом:
Как я могу узнать, какой размер будет загружен до вытягивания?
docker.io pull [image]
Мы можем искать доступные файлы изображений на веб-сайте докера следующим образом:
Как я могу узнать, какой размер будет загружен до вытягивания?
docker.io pull [image]
Ответы:
Глядя на API для Docker, Docker Remote API v1.10 , не видно , что есть какой-либо способ получить размеры изображений. Раздел «2.2 Изображения» показывает спецификацию, как запрашивать изображения.
пример
Но этот запрос должен идти против фактического экземпляра Docker. Вот пример, показывающий, как можно использовать приведенный выше запрос RESTful:
Я не видел способа сделать запрос в общедоступные репозитории, используя этот конкретный вызов RESTful. Единственный другой метод RESTful, который выглядел так, как если бы вы могли запрашивать изображения docker.io, был через поиск
GET /images/search
, но API не показывает никаких атрибутов размера, возвращаемых для этого.Ссылки
источник
docker search
Это не прямой ответ на ваш вопрос, но я надеюсь, что он будет полезен.
В сценарии использования диска в моих экспериментах с Docker я использую что-то вроде этого:
Таким образом, вы можете запустить, например:
Или вы можете скачать этот сценарий: disk-using и запустить, например,
./disk-usage "ubuntu busybox gcc"
чтобыdu -sh
отобразить использование диска (согласно сообщениям ) для этих 3 изображений:Обратите внимание, что он не показывает фактическую загрузку, требуемую для какого-либо данного изображения, и будет отображать результат после загрузки изображения, но он дает некоторое представление о том, насколько раздутым является данное изображение по сравнению с другими.
Вы можете запустить его на одном компьютере, чтобы решить, хотите ли вы загружать эти изображения на другие компьютеры или использовать его вообще.
источник
Для HTTP API v2 размер доступен через ресурс тегов в
size
иfull_size
. Вот пример URL-адреса одного из тегов моего репо:https://cloud.docker.com/v2/repositories/deepdriveio/deepdrive/tags/?page_size=25&page=1
источник
Если вы действительно изучаете код докера для операции извлечения, я думаю, что ваш ответ здесь. Если изображение контейнера не кэшируется, то во время извлечения изображения докер сначала собирает из реестра информацию об изображении, такую как количество слоев, размер каждого слоя и т. Д. И т. Д.
Я хотел бы сослаться, чтобы прочитать этот файл.
https://github.com/moxiegirl/docker/blob/master/distribution/xfer/download.go
источник
Для изображения в другом реестре, как Microsoft Container Registry. Я выясняю 3 способа.
docker manifest inspect
для наблюдения за данными манифеста, которые могут дать вам представление о том, как получить сжатый размер изображения.Чтобы включить
docker manifest inspect
, отредактируйте~/.docker/config.json
файл и установитеexperimental
вenable
. (Ссылка: проверка манифеста Docker )Переместите изображение в Docker Hub, и вы можете получить сжатый размер изображения на веб-сайте Docker Hub.
Используйте
docker save
для сохранения изображения в файл .tar, а затем сожмите его в файл .tar.gz.источник