root@server:~# docker images -a
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
<none> <none> 5e2dfc857e73 5 days ago 261.6 MB
<none> <none> d053e988f23d 5 days ago 261.6 MB
<none> <none> 1d5d4a2d89eb 5 days ago 261.6 MB
<none> <none> ea0d189fdb19 5 days ago 100.5 MB
<none> <none> 26c6175962b3 5 days ago 100.5 MB
<none> <none> 73d5cec4a0b3 5 days ago 100.5 MB
<none> <none> e19590e1bac1 5 days ago 100.5 MB
J'ai essayé ce qui suit:
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
Et ce qui suit:
docker rmi $(docker images -f "dangling=true" -q)
Obtenez l'erreur suivante:
docker: "rmi" requires a minimum of 1 argument.
See 'docker rmi --help'.
Usage: docker rmi [OPTIONS] IMAGE [IMAGE...]
Remove one or more images
docker rmi $(docker images -a | grep "^<none>" | awk '{print $3}')
docker rmi $(docker images | grep "<none>" | awk "{print $3}")
docker rmi $(docker images -f dangling=true -q)
docker images
:)Réponses:
Vous pouvez essayer de répertorier uniquement les images non balisées (celles sans étiquette ou avec étiquette sans étiquette):
Cependant, certaines de ces images non étiquetées peuvent être nécessaires à d'autres.
Je préfère ne supprimer que les images pendantes :
Comme je l'ai mentionné pour docker 1.13+ en septembre 2016 dans " Comment supprimer des images Docker anciennes et inutilisées ", vous pouvez également exécuter la
image prune
commande :Cela étant dit, Janaka Bandara mentionne dans les commentaires :
Janaka fait référence à " Comment supprimer une image signée avec une balise " de Paul V. Novarese :
Notez que Paul mentionne également moby issue 18892 :
la source
<none>
images marquées pour moi (par exemplefoo/bar:<none>
); J'ai dû utiliserdocker images --digests
etdocker rmi foo/bar@<digest>
comme décrit à success.docker.com/KBase/…sudo docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.35/images/json?filters=%7B%22dangling%22%3A%7B%22true%22%3Atrue%7D%7D: dial unix /var/run/docker.sock: connect: permission denied "docker rmi" requires at least 1 argument. See 'docker rmi --help'. Usage: docker rmi [OPTIONS] IMAGE [IMAGE...] [flags] Remove one or more images
hutber@hutber-blade /var/www/dockerfile-wizard $ sudo docker images --filter "dangling=true" -q --no-trunc sha256:c58f4e4b10b1f862d78f96e90bdf13ffe37993279d0992be46d5c15dad51421e sha256:db28e821bc3f337caf711a664bc529be5db8894dd73c5b013ad814cc1e9fc21b sha256:257936750a7d43ae77c713c2cb18342be935de7d3b8fad23d6664fc64acfe753 sha256:6b815cefeb527885b2b9dd831f7f40b05942f00d1367274833a6274154d8ce43
Vous pouvez essayer ceci simplement
la source
--force
à la fin. Donc, la commande ressemblera àdocker images | grep none | awk '{ print $3; }' | xargs docker rmi --force
docker image prune supprime toutes les images pendantes (celles avec la balise aucune). docker image prune -a supprimerait également toutes les images qui n'ont pas de conteneur qui les utilise.
La différence entre les images pendantes et inutilisées est expliquée dans ce thread stackoverflow .
la source
Vous pouvez y aller
docker rmi $(docker images -f "dangling=true" -q)
. Voir la documentation des images pour plus d'options.la source
Selon la documentation de docker, vous ne pouvez lister que les images non marquées (pendantes) avec
et redirigez-les vers la
docker rmi
commande comme ça:Remarquez que le
-q
paramètre affiche uniquement les ID numériques des conteneurs.la source
Vous pouvez utiliser
--force
pour ne pas demander de confirmationla source
Exécutez simplement cette commande:
la source
J'ai trouvé le
docker image prune -f
plus utile et je l'utilise tout le temps pendant mon travail quotidien, l'utilisation de la balise-f
ne demandera pas de confirmation. Plus de détails icila source
Supprimez les images dont
none
le nom de référentiel est le suivant:Supprimez les images qui ont un nom de
none
balise ou de référentiel:la source
la source
docker system prune
fera l'affaire, il supprimeMais utilisez-le, avec prudence!
la source
Pour supprimer toutes les images avec,
none
nous devons nous assurer que nous avons supprimé tous les conteneurs arrêtés qu'ils peuvent utiliser run:alors nous pouvons supprimer toutes les images:
la source
Pour supprimer les images pendantes, utilisez:
Veuillez vous référer à ma réponse ici pour une description plus détaillée: https://unix.stackexchange.com/a/445664/292327
la source
La commande ci-dessous fonctionne pour moi. ce ne sont que de simples images grep "" et obtenir l'identifiant de l'image docker et supprimer toutes les images. Commande unique simple comme il se doit.
docker rmi $(docker images |grep "<none>"| awk '{print $3}')
la source
Ceci est une extension de la réponse de tansadio:
Si vous obtenez l'erreur suivante:
Vous pouvez le forcer avec
--force
:la source
Le suivi supprimera toutes les
<none>
imagesVous pouvez forcer la suppression en passant
docker rmi
àdocker rmi -f
bien que je ne recommande pas de le faire.Certaines
<none>
images peuvent être liées à d'autres images, donc pour être sûr de ne pas utiliser de-f
balise.la source
C'est simple et clair,
Même j'ai pris 3 jours pour comprendre cette erreur simple et nette.
L'image du docker n'est pas créée avec succès
Ensuite, j'ai supprimé la 8ème ligne de Dockerfile, c'était le succès du signal cette fois.
Il dit avec succès étiqueté dem: expo, cette ligne est imp pendant le processus de docker.
la source
docker rmi -f $ (images docker -a | awk 'NR> 1 && $ 2 == "" {print $ 3}')
la source
Tout
Partage de la commande PowerShell pour les amateurs de Windows (juste au cas où vous n'auriez pas bash, grep ou awk)
la source
Exécutez la commande suivante pour supprimer les images avec docker rmi
la source
Supprimer tous les conteneurs sortis
ou retirez les contenants selon un modèle
la source
essayez ceci pour voir l'ID des images de docker de liste avec l'étiquette
<none>
puis vous pouvez supprimer toutes les images avec balise
<none>
. cela a fonctionné pour moi.la source
100% fonctionne: images docker | grep none | awk '{print $ 3}' | xargs docker rmi -f
la source
essayer
docker rmi -f $(docker images -a | awk 'NR> 1 || $2 = "<none>" {print $3}')
, alors qu'il peut y avoir des commandes plus propresActualisé
la source
docker rmi -f $(docker images -a | awk 'NR> 1 || $2 = "" {print $3}
ne fait rien!Supprimez simplement les images en utilisant leurs identifiants:
la source
Les images pendantes sont des fantômes des versions précédentes, supprimez-les simplement avec: docker rmi $ (docker images -f "dangling = true" -q)
la source
A indiqué les images suivantes lorsqu'elles sont utilisées. Je pense que cette commande supprime les images indésirables.
la source