ich kann schreiben
docker images --filter "dangling=true"
Welche anderen Filter kann ich verwenden?
Kann ich so etwas benutzen?
docker images --filter "running=false"
Docker v1.13.0 unterstützt die folgenden Bedingungen:
-f, --filter value Filter output based on conditions provided (default [])
- dangling=(true|false)
- label=<key> or label=<key>=<value>
- before=(<image-name>[:tag]|<image-id>|<image@digest>)
- since=(<image-name>[:tag]|<image-id>|<image@digest>)
- reference=(pattern of an image reference)
Oder verwenden Sie grep
, um Bilder nach einem bestimmten Wert zu filtern:
$ docker images | grep somevalue
docker images -f "reference=*/*/*latest"
- Dies würde Ihnen so etwas bringenk8s:30000/github/someImage:latest
. oderdocker images -f "reference=*/*latest"
würde dich bekommenk8s:30000/someImage:latest
. wenn Sie diese aufräumen wollen -docker rmi $(docker images -f "reference=*/*/*latest" -q --no-trunc)
Sie können das
REPOSITORY
Argument auch verwendendocker images
, um die Bilder zu filtern.Angenommen, wir haben die Bilder:
Wir können explizit nach allen Bildern mit einem bestimmten Namen filtern:
Docker unterstützt auch Globbing:
Offizielle Dokumente hier .
quelle
*
Platzhalterzeichen/
im Repository-Namen nicht gilt . Daher istlatest
der Befehl im letzten Beispieldocker images --filter=reference='*:latest'
falsch , um alle Bilder mit Tag aufzulisten. Richtiger Befehl istdocker images --filter=reference='*/*:latest'
.--filter name=something
- und die ganze Zeit war die einfache Lösung, dass Sie überhaupt keinen (n expliziten) Filter benötigen!openapitools/openapi-generator-cli
,docker images open*
werden Sie es nicht finden. Aberdocker images open*/*
ich werde es finden.In Docker v1.7:
Die derzeit unterstützten Filter sind:
true
oderfalse
)label=<key>
oderlabel=<key>=<value>
)quelle
before=<image-name>[:tag]|<image-id>|<image@digest>
&since=(<image-name>[:tag]|<image-id>|<image@digest>)
Für mich,
hat den Trick gemacht. Der Befehl date kann über eine Ausgabe im gleichen Format erzeugen
Dadurch kann ich Zeitstempel vergleichen. Ich benutze den Filter immer noch, um Bilder zu baumeln.
quelle
Zum Reinigen alter gestoppter Behälter können Sie Folgendes verwenden:
docker container prune
So entfernen Sie Bilder ohne Tags:
docker image prune
quelle
Es gibt ein weiteres Beispiel, das mit Version 17.09 ++ funktioniert:
Erläuterung:
reference
- Wir referenzieren Bilder nach dem Namen des Repositorys.dangling=true
- Wir entfernen Bilder ohne Tags.-q
- bedeutet leise und zeigt nur numerische IDs von Bildern anstelle einer ganzen Zeile.Dieser Befehl entfernt alle Bilder, die den Repository-Namen "registry.gitlab.com/example-app" haben und nicht markiert sind (
<none>
in einer Tag-Spalte).Referenzlink: https://docs.docker.com/engine/reference/commandline/images/#filtering
quelle
Zu Ihrer Information, ohne Filter, aber zum Löschen aller Bilder, wenn Sie sie zum Testen oder Lernen verwenden.
Docker-Bild rm -f $ (Docker-Bild ls)
Schöne Grüße.
quelle