Nous pouvons rechercher les fichiers image disponibles sur le site Web de docker comme ceci:
Comment puis-je savoir quelle sera la taille du téléchargement avant d'extraire?
docker.io pull [image]
Nous pouvons rechercher les fichiers image disponibles sur le site Web de docker comme ceci:
Comment puis-je savoir quelle sera la taille du téléchargement avant d'extraire?
docker.io pull [image]
Réponses:
En regardant l'API pour Docker, Docker Remote API v1.10 , il ne semble pas y avoir de moyen d'obtenir la taille des images. La section "2.2 Images" indique les spécifications relatives à l'interrogation des images.
Exemple
Mais cette requête doit s’appliquer à une instance Docker réelle. Voici un exemple montrant comment utiliser la requête RESTful ci-dessus:
Je n'ai vu aucun moyen d'interroger les référentiels publics à l'aide de cet appel RESTful particulier. La seule autre méthode RESTful pour laquelle vous pouviez interroger les images de docker.io était via une recherche
GET /images/search
, mais l'API ne montre aucun attribut de taille renvoyé pour cela.Les références
la source
docker search
Ce n’est pas une réponse directe à votre question, mais j’espère que cela vous sera néanmoins utile.
Dans le script d'utilisation du disque de mes expériences Docker, j'utilise quelque chose comme ceci:
Pour que vous puissiez courir, par exemple:
Ou vous pouvez télécharger ce script: utilisation du disque et le lancer, par exemple,
./disk-usage "ubuntu busybox gcc"
pourdu -sh
afficher l’utilisation du disque (comme indiqué par ) affichée pour ces 3 images:Notez que le téléchargement requis pour une image donnée n'est pas affiché. Le résultat s'affiche après le téléchargement de l'image, mais il donne une idée de la densité d'une image donnée par rapport aux autres.
Vous pouvez l'exécuter sur un ordinateur pour décider si vous souhaitez télécharger ces images sur d'autres ordinateurs ou même l'utiliser.
la source
Pour HTTP API v2, la taille est disponible via les ressources de balises sous
size
etfull_size
. Voici un exemple d'URL provenant de l'un des tags de mon référentiel:https://cloud.docker.com/v2/repositories/deepdriveio/deepdrive/tags/?page_size=25&page=1
la source
Si vous regardez vraiment dans le code du docker pour l'opération pull, je pense que votre réponse est là. Si l'image du conteneur n'est pas mise en cache, lors du tirage de l'image, docker commence par collecter les informations relatives à l'image du registre, telles que le nombre de couches, la taille de chaque couche, etc.
Je vous renvoie à lire ce fichier.
https://github.com/moxiegirl/docker/blob/master/distribution/xfer/download.go
la source
Pour l'image sur un autre registre tel que Microsoft Container Registry. Je découvre 3 façons.
docker manifest inspect
pour observer les données du manifeste, ce qui peut vous donner une idée de la façon de gagner la taille compressée de l'image.Pour activer
docker manifest inspect
, modifiez le~/.docker/config.json
fichier et définissez-leexperimental
surenable
. (Référence: inspection du manifeste de menu fixe )Poussez l'image vers Docker Hub et vous pouvez obtenir la taille compressée de l'image sur le site Web de Docker Hub.
Utilisez cette option
docker save
pour enregistrer une image dans un fichier .tar, puis le compresser en un fichier .tar.gz.la source