5.1 Befehl docker images
Wenn bereits Docker-Images auf deinem System gespeichert sind, gibt es spezielle Befehle zur Verwaltung dieser. Zunächst geht es um docker images
und docker rmi
. In dieser Vorlesung werden wir im Detail besprechen, wie du diese Befehle zur effektiven Verwaltung von Docker-Images verwenden kannst.
Der Befehl docker images
zeigt eine Liste von Images an, die lokal auf deinem System gespeichert sind. Es zeigt Daten wie den Namen des Repositorys, den Tag, die Image-ID, das Erstellungsdatum und die Größe an. Diese Informationen ermöglichen eine schnelle Übersicht darüber, welche Images verfügbar sind und wie viel Speicherplatz sie einnehmen.
Syntax:
docker images [OPTIONS] [REPOSITORY[:TAG]]
Wo:
-
OPTIONS
: zusätzliche Parameter zum Filtern und Formatieren der Ausgabe. -
[REPOSITORY[:TAG]]
: (optional) Filter nach Repository-Name und/oder Tag.
Beispiel für grundlegende Nutzung
In diesem Beispiel wird eine Liste aller lokal gespeicherten Images ausgegeben.
docker images
Beispielausgabe des Befehls docker images
:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 5a7e5b1a3b8c vor 2 Tagen 133MB
ubuntu 20.04 ba6acccedd29 vor 3 Wochen 72.9MB
myapp 1.0 d1e5e2ff5ff2 vor 1 Monat 89.5MB
Beschreibung der Spalten:
- REPOSITORY: Name des Repositorys, zu dem das Image gehört.
- TAG: Tag, der die Version des Images angibt.
- IMAGE ID: eindeutige Identifikationsnummer des Images.
- CREATED: Zeit, die seit der Erstellung des Images vergangen ist.
- SIZE: Größe des Images im Speicher.
5.2 Filtern von Images
Das Filtern von Images ermöglicht es, die Ergebnisse des Befehls docker images
einzugrenzen, sodass nur die Images angezeigt werden, die deinen Kriterien entsprechen. Das ist praktisch, wenn du viele Images auf deinem System gespeichert hast und schnell ein bestimmtes Image nach Repository-Namen, Tags oder anderen Parametern finden möchtest.
1. Filter nach Repository
docker images nginx
Dieses Beispiel gibt nur Images aus dem Repository nginx
aus.
2. Filter nach Tag
docker images ubuntu:20.04
Dieses Beispiel gibt das Image ubuntu
mit dem Tag 20.04
aus.
3. Nutzung des Parameters -a (all)
Standardmäßig zeigt der Befehl docker images
nur die neuesten Versionen der Images. Um alle Images anzuzeigen, einschließlich der Zwischenschichten, benutze die Option -a
.
docker images -a
4. Ausgabeformatierung
Um die Lesbarkeit zu verbessern oder die Integration mit anderen Tools zu vereinfachen, kannst du das Ausgabeformat mit der Option --format
anpassen. Das ist besonders nützlich in Skripten und bei der Automatisierung von Aufgaben.
docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}"
5.3 Der Befehl docker rmi
Der Befehl docker rmi
wird verwendet, um ein oder mehrere Docker-Images zu entfernen. Das ist hilfreich, um Speicherplatz freizugeben und das System sauber zu halten, besonders wenn die Images nicht mehr verwendet werden.
Syntax:
docker rmi [OPTIONS] IMAGE [IMAGE...]
Wo:
- OPTIONS: zusätzliche Parameter zur Verwaltung des Löschvorgangs.
- IMAGE: der Name, das Tag oder die ID des Images, das gelöscht werden soll.
Ein einfaches Beispiel
Dieses Beispiel löscht ein Image mit dem Namen nginx
.
docker rmi nginx
Löschen mit der Image-ID
Dieses Beispiel entfernt ein Image mit der ID 5a7e5b1a3b8c
.
docker rmi 5a7e5b1a3b8c
Erzwungenes Löschen
Falls ein Image von einem Container verwendet wird oder blockiert ist, kann das Standardlöschen unmöglich sein. Nutze in diesem Fall die Option -f (force)
, um das Löschen zu erzwingen.
docker rmi -f myapp:1.0
Löschen mehrerer Images
Um mehrere Images auf einmal zu löschen, gib sie durch Leerzeichen getrennt an.
docker rmi nginx ubuntu:20.04 myapp:1.0
5.4 Praktische Beispiele
Beispiel 1: Anzeigen aller Images
Um eine vollständige Liste aller Images anzuzeigen, die auf deinem lokalen Computer gespeichert sind, führe den folgenden Befehl aus:
docker images
Dieser Befehl zeigt eine Tabelle mit Repository-Namen, Tags, Image-IDs, Erstellungsdaten und Größen an.
Beispiel 2: Anzeigen von Images mit Formatierung der Ausgabe
Um eine Liste von Images mit benutzerdefiniertem Format anzuzeigen, z. B. nur den Repository-Namen und den Tag:
docker images --format "{{.Repository}}:{{.Tag}}"
Dieses Beispiel zeigt, wie du die Option --format
verwenden kannst, um die Ausgabe anzupassen – praktisch für das Schreiben von Skripten.
Beispiel 3: Löschen aller ungenutzten Images
Wenn du alle Images löschen möchtest, die von Containern nicht verwendet werden, zeige sie zuerst an und lösche sie dann:
docker images -q
docker rmi $(docker images -q)
Der Befehl docker images -q
gibt nur die IDs aller lokal gespeicherten Images aus, die dann an docker rmi
zum Löschen weitergeleitet werden.
Beispiel 4: Löschen von dangling images
Dangling images
sind Images ohne Tags, die nach Updates oder fehlgeschlagenen Builds übrig bleiben. Um sie zu entfernen, benutze den folgenden Befehl:
docker rmi $(docker images -f "dangling=true" -q)
Hier filtert -f "dangling=true"
Images ohne Tags heraus, und -q
gibt nur ihre IDs aus, die an den Löschbefehl weitergeleitet werden.
GO TO FULL VERSION