Docker - Comment analyser un conteneur de l'utilisation du disque?
J'ai cherché pendant un certain temps, mais ne pouvait pas trouver un moyen d'analyser l'utilisation du disque d'un conteneur Docker /volume.
Je peux voir que Docker prend de 12 go de mon système de fichier:
2.7G /var/lib/docker/vfs/dir
2.7G /var/lib/docker/vfs
2.8G /var/lib/docker/devicemapper/mnt
6.3G /var/lib/docker/devicemapper/devicemapper
9.1G /var/lib/docker/devicemapper
12G /var/lib/docker
Mais, comment puis-je savoir comment c'est réparti sur les conteneurs?
J'ai essayé de les joindre pour les récipients en cours d'exécution (le nouveau v1.3 commande)
docker exec -it <container_name> bash
puis en exécutant 'df -h' pour analyser l'utilisation du disque. Il semble fonctionner, mais pas avec les conteneurs que l'utilisation de volumes, de la.
Par exemple, j'utilise un seul conteneur pour MongoDB, appelé "mongo-data'.
Quand je lance docker run -it --volumes-from mongo-data busybox
, puis df -h
à l'intérieur du conteneur, Il est dit que le système de fichiers monté sur /data/db
(mon "mongo-data' (données uniquement conteneur) utilise 11,3 G, mais quand je fais du -h /data/db
, il dit qu'il utilise seulement 2,1 G.
Alors, comment dois-je analyser un conteneur/volume de l'utilisation du disque? Ou, dans mon cas, comment puis-je trouver le " mongo-données de conteneur de taille?
Merci beaucoup,
- Sur Mac OS X il y a un problème ouvert "Docker n'est pas la libération de l'espace disque...": github.com/docker/for-mac/issues/371
Vous devez vous connecter pour publier un commentaire.
Pour voir la taille de fichier de vos conteneurs, vous pouvez utiliser le
-s
argument dedocker ps
:docker ps -s
ne prend pas la tenue de journaux dans /var/lib/docker/ compte.27.2MB (virtual 173MB)
quelle est la différence entre eux?Après 1.13.0, Docker comprend une nouvelle commande
docker system df
pour afficher le panneau de l'utilisation du disque.Pour afficher des informations plus détaillées sur l'utilisation de l'espace
Ce détachement comme une réponse parce que mes commentaires ci-dessus a obtenu caché:
Liste de la taille d'un conteneur:
Liste de la taille d'un conteneur volumes:
Edit:
Liste de tous les conteneurs de tailles et volumes:
REMARQUE: le Changement "devicemapper' en fonction de votre Panneau de système de fichiers (. e.g "aufs')
/var/lib/docker/devicemapper: No such file or directory
. Aucune idée de l'endroit où le devicemapper est stocké sur mac?du
de commande à l'intérieur de votre boot2docker hôte de machine virtuelle. La commande peut également échouer si vous utilisezaufs
au lieu de mappeur de périphériques.Le volume de la partie ne fonctionne plus donc si quelqu'un est intéressés par je viens de changer le script ci-dessus un petit peu:
(cette réponse n'est pas utile, mais en le laissant ici depuis certains des commentaires peuvent être)
docker images
montrera le "virtuel" taille, c'est à dire combien en tout, y compris toutes les couches inférieures. Donc une sorte de double-comptage si vous avez des contenants de la même image de base.la documentation
docker ps --no-trunc
) - fairedu
sur ceux-ci devraient donner tailles.du -d 2 -h /var/lib/docker/devicemapper |grep 'docker inspect -f "{{.Id}}" <container_name>'
(changement "à")docker inspect -f "{{.Volumes}}" <container_name> | sed 's/map\[//' | sed 's/]//' | tr ' ' '\n' | sed 's/.*://' | xargs sudo du -d 1 -h
- Je utiliser
docker stats $(docker ps --format={{.Names}}) --no-stream
pour obtenir :Vous pouvez utiliser
de voir comment la taille de l'image est ditributed entre ses différents sous-composants.
Si vous souhaitez réduire la taille de plusieurs couches d'images, je vous conseille de Jason Wilder
docker-squash
utilitaire. L'obtenir à partir de GitHub ici: https://github.com/jwilder/docker-squashGardez à l'esprit que
docker ps --size
peut être coûteux de commande, de prendre plus que quelques minutes à remplir. La même chose s'applique à la liste des conteneurs de demandes d'API avecsize=1
. Il est préférable de ne pas courir trop souvent.Prendre un coup d'oeil à alternatives nous avons compilé, y compris la
du -hs
option pour le menu fixe persistante répertoire volume.