J'ai créé un registre de docker local , puis extrait certaines de mes images de docker à partir du concentrateur de docker, puis les envoie au registre local. Maintenant, je veux supprimer mes images locales. Mais le problème ici est que imageID
des images sont les mêmes et je ne peux pas les supprimer. J'ai cherché la solution mais je n'ai pas trouvé la solution.
>> docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
localhost:5000/[repo1] v-0.9.1 810001cb03af 4 weeks ago 594.6 MB
[myaccount]/[repo1] v-0.9.1 810001cb03af 4 weeks ago 594.6 MB
comme vous le voyez le image ID
sont les mêmes pour les deux images. Comment est-ce que je peux les retirer?
MODIFIER
ma version de docker:
Docker version 1.8.2, build 0a8c2e3
sortie de docker rmi 810001cb03af
:
Réponse d'erreur du démon: Conflit, impossible de supprimer l'image 810001cb03af car elle est marquée dans plusieurs référentiels, utilisez -f pour forcer Erreur: impossible de supprimer les images: [810001cb03af]
docker rmi -f 81000
, cela les enlèvera tous les deux et je dois tirer à nouveau.Voici un moyen de le faire. Exécutez la commande:
docker images | grep 810001cb03af | awk '{print $1 ":" $2}' | xargs docker rmi
où 810001cb03af
est votre identifiant d'image.
Voici un moyen:
Les données du référentiel et des balises peuvent être fournies à la commande "docker rmi" pour supprimer une image si les images sont identiques.
commander
docker rmi [repository_name1]:[tag1] [repository_name2]:[tag2]
exemple
docker rmi test-nginx:latest ubuntu:latest
Remarque: vous devez nommer et marquer l'image de manière appropriée pour pouvoir utiliser la commande ci-dessus de manière efficace pour les besoins mentionnés dans la question.
Référez-vous à la documentation Docker pour la commande "docker rmi": ici
Exécutez la commande suivante pour supprimer plusieurs images de menu fixe avec le même IMAGE ID .
Sudo docker rmi -f **IMAGE ID**
Ce scénario est décrit exactement dans la documentation de la commande rmi
Vous pouvez supprimer une image à l'aide de son ID court ou long, de sa balise ou de son résumé. Si une ou plusieurs balises sont référencées dans une image, vous devez toutes les supprimer avant de supprimer l’image. Les références Digest sont automatiquement supprimées lorsqu'une image est supprimée par balise.
Donné,
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test1 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
test2 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
Vous pouvez soit supprimer les balises (la dernière balise supprimera également l'image):
$ docker rmi test1
Untagged: test1:latest
$ docker rmi test2
Untagged: test2:latest
Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8
Ou forcer:
$ docker rmi -f fd484f19954f
Untagged: test1:latest
Untagged: test2:latest
Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8
Remarque: Il ne s'agit pas d'images multiples portant le même identifiant. C’est en fait une image référencée dans plusieurs référentiels (c’est-à-dire avec plusieurs noms/balises)
Vous pouvez utiliser le menu fixe rmi IMAGE_NAME: TAG_NAME et cela fonctionnera.
Vous devriez essayer de supprimer des images en utilisant digest,
$ docker images --digests
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
localhost:5000/test/busybox <none> sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf 4986bf8c1536
$ docker rmi localhost:5000/test/busybox@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
Untagged: localhost:5000/test/busybox@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
Deleted: 4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8125
Deleted: ea13149945cb6b1e746bf28032f02e9b5a793523481a0a18645fc77ad53c4ea2
Deleted: df7546f9f060a2268024c8a230d8639878585defcc1bc6f79d2728a13957871b
Je viens de vérifier dans la documentation Docker et je pense que c'est quelque chose que l'on peut aussi faire
rmi
Vous pouvez supprimer une image à l'aide de son ID court ou long, de sa balise ou de son résumé. Si une image comporte une ou plusieurs balises ou références de résumé, vous devez toutes les supprimer avant de supprimer l’image.
donc plutôt que d'utiliser ID, vous pouvez faire quelque chose comme ça ---
$ docker rmi test1
Untagged: test1:latest
$ docker rmi test2
Untagged: test2:latest