2015-09-27 16 views
11

Mit dem Befehl Docker Bild, alle Bilder auf dem Host-Liste können:Filter Docker Bilder mit Namen

REPOSITORY     TAG     IMAGE ID   CREATED    VIRTUAL SIZE 
scdockerdemo_php    latest    155d80ea7642  4 minutes ago  265.3 MB 
scdockerdemo_node   latest    6189bc65c3fe  8 minutes ago  861.4 MB 
php       5.6-apache   fc50bce69ea0  3 days ago   481.3 MB 
node       4.1     fc81e574af43  3 days ago   641.1 MB 

Mit Docker Bild -f "tag = latest", können Sie filtern für Bilder mit einem bestimmten Tag.

Wie kann ich nach einem Repository-Namen filtern? Z.B. Docker Bild -f "Repository = scdockerdemo_ *"

Dieser Befehl zurückgeben immer ungültig Filter 'Repository'

https://docs.docker.com/reference/commandline/images/

Antwort

8

Nach this answer to a similar question, die Filter-Option unterstützt derzeit nur "baumelnden = true".

Wenn Sie Bash verwenden, ist die einfachste Sache zu tun, wahrscheinlich:

$ docker images | grep scdockerdemo 

Oder Sie versuchen, awk verwenden, können in der ersten Spalte an einer Schnur zum Spiel:

$ docker images | awk '$1 ~ /scdockerdemo/ { print }' 
+0

Danke für den Link und Ihre Antwort. Es scheint, dass dies derzeit die einzige Option ist. Dies funktioniert jedoch nicht als Argument für Andockbefehle wie z.B. docker rmi $ (docker images | grep scdockerdemo) – kuffel

+3

Ich habe meine Antwort bearbeitet - versuche, den Namen des Repositorys in der ersten Spalte mit awk abzugleichen. Dann können Sie rmi $ (docker images | awk '$ 1 ~/scdockerdemo/{print $ 3}') 'docken. – Leo

+0

Großartig! Vielen Dank, das ist die Antwort! – kuffel

21

wenn Sie mit dem Repository-Name gefiltert werden soll (zB: Testbilder), benutzen Sie einfach die folgenden Schritte aus:

docker images testImage 

wenn Sie mehrere Bilder Witz haben h gleicher Repository-Name aber Diffetent-Tags können Sie Tags auf dem Repository-Namen angeben, indem Sie ein ':' mit (zum Beispiel)

Quelle: Docker images

+0

große Antwort. Dadurch kann das Repository auch als Filter verwendet werden (z. B. das Powershell-Andockfenster rmi $ (docker images * -q)). –

+0

Verwendung: '' Docker Bilder [OPTIONEN] [REPOSITORY [: TAG]] '' –

+0

Präzise Abschnitt des Dokuments: [Liste Bilder nach Name und Tag] (https://docs.docker.com/engine/reference/commandline/images/# list-images-by-name-und-tag) –

5

Sie können Bilder auswählen, von reference (Kombination von name und tag) :

docker image ls --filter 'reference=scdockerdemo_*' 
6

Gemäß der Dokumentation bei https://docs.docker.com/engine/reference/commandline/images/ Sie durch Platzhalter durch Einschließen in doppelte Anführungszeichen bieten kann:

docker images "scdockerdemo_*"

** Sonderzeichen ** , wenn Sie Sonderzeichen wie ‚/‘ im Repository Namen haben, sollten Sie es entkommen, indem Repository-Namen zu filtern.

ex)

> docker images "zirho6\/*" 
REPOSITORY     TAG     IMAGE ID   CREATED    SIZE 
zirho6/aaaa    latest    946bf5cc28fc  2 days ago   997MB 
zirho6/bbbb    latest    741a6e368d07  10 days ago   866MB 
zirho6/ccc    latest    173b36570522  12 days ago   853MB 
zirho6/dddd    latest    e08e5c202e9b  13 days ago   853MB 
+0

Wurde geändert, um den korrekten Befehl 'images' vs' image' zu ​​verwenden und den Reponamen + Platzhalter in doppelte Anführungszeichen eingeschlossen, sodass der Platzhalter erkannt wird. –

Verwandte Themen