web-dev-qa-db-fra.com

Comment supprimer plusieurs images de menu fixe avec le même imageID?

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]

  • Si je le fais, docker rmi -f 81000, cela les enlèvera tous les deux et je dois tirer à nouveau.
25
Hadi

Voici un moyen de le faire. Exécutez la commande:

docker images | grep 810001cb03af | awk '{print $1 ":" $2}' | xargs docker rmi

810001cb03af est votre identifiant d'image.

36
user2707671

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

21
spectre007

Exécutez la commande suivante pour supprimer plusieurs images de menu fixe avec le même IMAGE ID .

Sudo docker rmi -f **IMAGE ID**
7
Murali Krishna

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)

7
Ahmad Abdelghany

Vous pouvez utiliser le menu fixe rmi IMAGE_NAME: TAG_NAME et cela fonctionnera.

0
user3737269

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
0
Sohan

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

0
Chetan Sharma