Podemos buscar archivos de imagen disponibles en el sitio web de Docker como este:
¿Cómo puedo saber cuáles serán los tamaños de descarga antes de extraer?
docker.io pull [image]
Podemos buscar archivos de imagen disponibles en el sitio web de Docker como este:
¿Cómo puedo saber cuáles serán los tamaños de descarga antes de extraer?
docker.io pull [image]
Respuestas:
Mirando la API de Docker, Docker Remote API v1.10 , no parece que haya ninguna forma de obtener el tamaño de las imágenes. La sección "2.2 Imágenes" muestra la especificación de cómo consultar sobre imágenes.
Ejemplo
Pero esta consulta debe ir en contra de una instancia real de Docker. Aquí hay un ejemplo que muestra cómo se podría usar la consulta RESTful anterior:
No vi ninguna forma de consultar los repositorios públicos utilizando esta llamada RESTful particular. El único otro método RESTful que parecía que podía consultar las imágenes de docker.io fue a través de la búsqueda
GET /images/search
, pero la API no muestra ningún atributo de tamaño que se devuelva para esto.Referencias
fuente
docker search
Esta no es una respuesta directa a su pregunta, pero espero que sea útil de todos modos.
En el script de uso del disco en mis experimentos de Docker , uso algo como esto:
Para que pueda ejecutar, por ejemplo:
O puede descargar ese script: uso del disco y ejecutar, por ejemplo,
./disk-usage "ubuntu busybox gcc"
para que sedu -sh
muestre el uso del disco (según lo informado por ) para esas 3 imágenes:Tenga en cuenta que no muestra la descarga real requerida para una imagen determinada, y mostrará el resultado después de descargar la imagen, pero da una idea de cuán hinchada es una imagen determinada en comparación con otras.
Puede ejecutarlo en una máquina para decidir si desea descargar esas imágenes en otras máquinas o usarlo en absoluto.
fuente
Para HTTP API v2, el tamaño está disponible a través del recurso de etiquetas en
size
yfull_size
. Aquí hay una URL de ejemplo de una de las etiquetas de mi repositorio:https://cloud.docker.com/v2/repositories/deepdriveio/deepdrive/tags/?page_size=25&page=1
fuente
Si lo miras en el código de cargador de muelle para la operación de extracción, creo que su respuesta es no. Si la imagen del recipiente no se almacena en caché, a continuación, durante la extracción de la imagen, cargador de muelle primero recoge la información sobre la imagen del registro como el número de capas, el tamaño de cada uno de capas, etc., etc.
Me referiría a leer este archivo.
https://github.com/moxiegirl/docker/blob/master/distribution/xfer/download.go
fuente
Para imagen en otro registro como Microsoft Container Registry. Me imagino 3 formas.
docker manifest inspect
de observar los datos del manifiesto, que le puede dar idea sobre cómo obtener el tamaño de la imagen comprimida.Para habilitar
docker manifest inspect
, edite el~/.docker/config.json
archivo y configúreloexperimental
enenable
. (Referencia: docker manifest inspect )Empuje la imagen a Docker Hub y podrá obtener el tamaño comprimido de la imagen en el sitio web de Docker Hub.
Use
docker save
para guardar la imagen en un archivo .tar y luego comprimirlo en un archivo .tar.gz.fuente