it-swarm.com.de

Wie entferne ich mehrere Docker-Images mit derselben imageID?

Ich habe eine local docker-Registrierung erstellt und dann einige meiner Docker-Images vom Docker-Hub gezogen und dann in die lokale Registry verschoben. Jetzt möchte ich meine lokalen Bilder entfernen. Das Problem hierbei ist jedoch, dass imageID der Bilder gleich sind und ich sie nicht entfernen kann. Ich habe nach der Lösung gesucht, konnte aber keine Lösung finden.

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

wie Sie sehen, ist der image ID für beide Bilder gleich. Wie kann ich sie entfernen?

EDIT

  • meine Docker-Version:

    Docker version 1.8.2, build 0a8c2e3

  • ausgabe von docker rmi 810001cb03af:

    Fehlerantwort vom Daemon: Konflikt, Bild 810001cb03af kann nicht gelöscht werden, da es in mehreren Repositorys markiert ist. Verwenden Sie -f, um den Fehler zu erzwingen.

  • Wenn ich docker rmi -f 81000 tue, werden beide entfernt, und ich muss erneut ziehen.
25
Hadi

Hier können Sie dies tun. Führen Sie den Befehl aus:

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

dabei ist 810001cb03af Ihre Bild-ID.

36
user2707671

Hier ist ein Weg:

Repository- und Tag-Daten können dem Befehl "docker rmi" zur Verfügung gestellt werden, um das Bild zu entfernen, wenn die Bild-ID identisch ist. 

befehl 

docker rmi [repository_name1]:[tag1] [repository_name2]:[tag2]

beispiel

docker rmi test-nginx:latest ubuntu:latest

Hinweis: Sie müssen das Bild entsprechend benennen und mit einem Tag versehen, um den obigen Befehl effektiv für die in der Frage genannte Anforderung zu verwenden.

Hilfe für Docker-Dokumente zur "docker rmi" -Befehlshilfe: hier

21
spectre007

Führen Sie den folgenden Befehl aus, um mehrere Docker-Images mit derselben IMAGE ID zu entfernen.

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

Dieses Szenario wird genau beschrieben in rmi Befehlsdokumentation

Sie können ein Bild mit seiner kurzen oder langen ID, seinem Tag oder seiner Übersicht entfernen. Wenn ein Bild mit einem oder mehreren Tags versehen ist, müssen Sie alle entfernen, bevor das Bild entfernt wird. Digest-Referenzen werden automatisch entfernt, wenn ein Bild nach Tag entfernt wird. 

Gegeben, 

$ 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)

Sie können entweder Tags entfernen (das letzte Tag wird tatsächlich auch das Bild entfernen): 

$ docker rmi test1

Untagged: test1:latest

$ docker rmi test2

Untagged: test2:latest
Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8

Oder erzwinge es: 

$ docker rmi -f fd484f19954f

Untagged: test1:latest
Untagged: test2:latest
Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8

Hinweis: Hierbei handelt es sich nicht um mehrere Bilder mit derselben ID. Dies ist tatsächlich ein Bild, auf das in mehreren Repositorys verwiesen wird (d. H. Mehrere Namen/Tags erhalten).

7

Sie können den Befehl docker rmi IMAGE_NAME: TAG_NAME verwenden, und es funktioniert.

0
user3737269

Sie sollten versuchen, Bilder mit Digest zu entfernen.

    $ docker images --digests

    REPOSITORY                     TAG       DIGEST                                                                    IMAGE ID        CREATED         SIZE
    localhost:5000/test/busybox    <none>    sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf   4986bf8c1536

    $ docker rmi localhost:5000/test/[email protected]:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
     Untagged: localhost:5000/test/[email protected]:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf

    Deleted: 4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8125
    Deleted: ea13149945cb6b1e746bf28032f02e9b5a793523481a0a18645fc77ad53c4ea2
    Deleted: df7546f9f060a2268024c8a230d8639878585defcc1bc6f79d2728a13957871b
0
Sohan

Ich habe gerade in den Docker-Dokumenten nachgesehen und ich denke, das ist auch etwas, was man tun kann 

rmi

Sie können ein Bild mit seiner kurzen oder langen ID, seinem Tag oder seiner Übersicht entfernen. Wenn ein Bild über einen Tag oder einen Digest-Verweis verfügt, müssen Sie alle entfernen, bevor das Bild entfernt wird.

also anstatt ID zu verwenden, kann man so etwas tun ---

$ docker rmi test1 Untagged: test1:latest $ docker rmi test2 Untagged: test2:latest

0
Chetan Sharma