Dans la documentation de docker de l'image de docker prune, il est possible d'utiliser l'indicateur -a pour
Supprimez toutes les images inutilisées, pas seulement celles qui pendent
et ensuite
Supprimez toutes les images pendantes. Si -a est spécifié, supprimera également toutes les images non référencées par aucun conteneur.
Quelqu'un peut-il m'expliquer ce que sont les images pendantes et quelle est la différence entre les images pendantes et inutilisées?
prune
n'est pas recommandé en production /Réponses:
Une image inutilisée signifie qu'elle n'a pas été affectée ou utilisée dans un conteneur. Par exemple, lors de l'exécution
docker ps -a
, il répertorie tous vos conteneurs sortis et en cours d'exécution. Toutes les images montrées utilisées dans l'un des conteneurs sont une "image utilisée".D'un autre côté, une image suspendue signifie simplement que vous avez créé la nouvelle construction de l'image, mais qu'elle n'a pas reçu de nouveau nom. Ainsi, les anciennes images que vous avez deviennent «l'image pendante». Ces anciennes images sont celles qui ne sont pas marquées et qui affichent "
<none>
" sur son nom lorsque vous exécutezdocker images
.Lors de l'exécution
docker system prune -a
, il supprimera à la fois les images inutilisées et pendantes. Par conséquent, toutes les images utilisées dans un conteneur, qu'elles aient été fermées ou en cours d'exécution, ne seront PAS affectées.la source
docker system prune --all --filter "until=24h"
préserve aussi les images récentesdocker system prune -a
supprime également les conteneurs arrêtés. Donc, il devrait également supprimer les images associées uniquement aux conteneurs sortis, non?Le moyen le plus sûr et le plus simple de nettoyer les images pendantes
Les images Docker se composent de plusieurs couches. Les images pendantes sont des calques qui n'ont aucun rapport avec les images marquées. Ils ne servent plus un but et consomment de l'espace disque.
Pour répertorier les images pendantes en ajoutant l'indicateur de filtre,
-f
avec une valeur dedangling=true
àdocker images
.Liste des images pendantes
Supprimer les images pendantes
OU
Lorsque nous exécutons des tâches cron pour supprimer les éléments en suspens, utilisez ce qui précède pour vous assurer que la tâche s'exécute correctement. Comme dans Jenkins, si nous exécutons un travail de style libre avec la commande ci-dessous, le travail de la commande n'échouera jamais même s'il n'y a pas de choses en suspens dans la machine.
C'est le moyen le plus sûr et le plus simple de nettoyer les images pendantes et de récupérer notre espace disque pour l'utiliser.
la source
docker images
sont absents sont suspendues. Comment vérifier leur taille? De plus, les images dont le nom et l'étiquettedocker images -a
sont absents sont des images intermédiaires. Peuvent-ils être supprimés et comment vérifier leur taille?Les images dans le menu fixe sont référencées par un condensé sha256, souvent appelé identifiant d'image. Ce résumé est tout ce dont vous avez besoin pour que l'image existe sur l'hôte docker. En règle générale, vous aurez des balises qui pointent vers ces résumés, par exemple la balise busybox: le dernier point actuel vers l'image id c30178c523 ... sur mon système. Plusieurs balises peuvent pointer vers la même image, et toute balise peut être modifiée pour pointer vers un identifiant différent, par exemple lorsque vous tirez une nouvelle copie de busybox: latest ou créez une nouvelle version de l'image de votre application.
Les images pendantes sont des images qui n'ont pas de balise, et qui n'ont pas d'image enfant (par exemple une ancienne image qui utilisait une version différente de
FROM busybox:latest
), pointant vers elles. Ils peuvent avoir eu une balise pointant vers eux avant et cette balise a changé plus tard. Ou ils peuvent n'avoir jamais eu de balise (par exemple, la sortie d'undocker build
sans inclure l'option de balise). Ils peuvent généralement être supprimés en toute sécurité tant qu'aucun conteneur n'est toujours en cours d'exécution qui référence l'ancien identifiant d'image. La principale raison de les conserver est à des fins de mise en cache de construction.De plus, vous avez peut-être téléchargé des images qui ne vous sont pas actuellement utilisées par les conteneurs (y compris les conteneurs arrêtés). Celles-ci sont totalement différentes des images pendantes et peuvent être supprimées en toute sécurité tant que vous ne prévoyez pas de les utiliser à l'avenir ou que cela ne vous dérange pas de télécharger une autre copie lorsque vous en avez besoin.
la source
docker images -a
) sont-elles également appelées images suspendues? Est-ce qu'ils sont effacés avec la taille d'image Docker?Les images pendantes sont des calques qui n'ont aucune relation avec les images balisées. Ils ne servent plus un but et consomment de l'espace disque.
Une image inutilisée est une image qui n'a pas été attribuée ou utilisée dans un conteneur.
Liste des images pendantes
la source
les images pendantes sont des images non marquées. La commande suivante donne la liste des images pendantes.
docker image prune
supprime toutes les images pendantes.Les images inutilisées sont des images qui ont des balises mais qui ne sont actuellement pas utilisées comme conteneur. Vous pouvez ou non en avoir besoin à l'avenir.
docker image prune -a
supprimer toutes les images pendantes et inutilisées.Vous ne souhaitez généralement pas supprimer toutes les images inutilisées avant un certain temps. Par conséquent, il est préférable de supprimer avec un filtre.
docker image prune -f --filter "until=6h"
la source
docker image prune -a -f --filter "until=6h"
Supprime- t-il également les images pendantes?docker image prune -f --filter "until=6h"
- puisqu'il n'y a pas de -a - alors comment se fait-il qu'il supprime les images inutilisées?J'ai vu des commandes utiles (alias) pour supprimer les images pendantes, gracieuseté de andyneff ici: https://forums.docker.com/t/how-to-delete-cache/5753 :
la source
Dans la capture d'écran des images, les noms «aucun» sont des images pendantes. Une image suspendue signifie simplement que vous avez créé la nouvelle version de l'image, mais qu'elle n'a pas reçu de nouveau nom. Ainsi, les anciennes images que vous avez deviennent «l'image pendante». Ces anciennes images sont celles qui ne sont pas marquées et qui affichent "" sur son nom lorsque vous exécutez des images docker.
docker system prune -a
, il supprimera à la fois les images inutilisées et pendantes. Par conséquent, toutes les images utilisées dans un conteneur, qu'elles aient été fermées ou en cours d'exécution, ne seront PAS affectées.la source