So entfernen Sie Docker-Images korrekt mit dem Befehl 'docker rmi'

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Dieses Tutorial führt Sie durch den Prozess des ordnungsgemäßen Löschen von Docker-Images mithilfe des Befehls 'docker rmi'. Ob Sie ein Anfänger oder ein erfahrener Docker-Benutzer sind, das Verständnis effektiver Strategien zum Löschen von Images ist unerlässlich für die Verwaltung Ihrer Docker-Umgebung und die Optimierung des Speicherplatzes.

Einführung in Docker-Images

Docker-Images sind die grundlegenden Bausteine von Docker-Containern. Sie sind schreibgeschützte Templates, die die notwendigen Anweisungen zur Erstellung eines Docker-Containers enthalten, einschließlich des Betriebssystems, der Anwendungscode und Abhängigkeiten. Docker-Images werden in einem Docker-Registry gespeichert, das entweder ein öffentliches Registry wie Docker Hub oder ein privates Registry sein kann.

Um Docker-Images zu verstehen, beginnen wir mit den Grundlagen:

Was ist ein Docker-Image?

Ein Docker-Image ist ein leichtgewichtiges, eigenständiges, ausführbares Paket, das alles enthält, was zum Ausführen einer Anwendung benötigt wird: den Code, die Laufzeitumgebung, Systemtools, Bibliotheken und Einstellungen. Docker-Images werden mithilfe einer Dockerfile erstellt, einer Textdatei, die alle Befehle enthält, die ein Benutzer benötigen würde, um ein Image zu erstellen.

Anatomie eines Docker-Images

Ein Docker-Image besteht aus mehreren Schichten, wobei jede Schicht eine Änderung am Image darstellt. Diese Schichten sind übereinandergestapelt, und wenn ein Container aus einem Image erstellt wird, verwendet der Container die schreibgeschützten Schichten des Images und fügt eine schreibbare Schicht hinzu.

graph TD A[Basis-Image] --> B[Schicht 1] B --> C[Schicht 2] C --> D[Schicht 3] D --> E[Docker-Image]

Ziehen und Pushen von Docker-Images

Sie können Docker-Images aus einem Registry mit dem Befehl docker pull ziehen. Um beispielsweise das neueste Ubuntu-Image zu ziehen, würden Sie Folgendes ausführen:

docker pull ubuntu:latest

Um ein Docker-Image in ein Registry zu pushen, müssen Sie das Image zuerst mit der Adresse des Registrys und Ihrem Benutzernamen taggen. Anschließend können Sie den Befehl docker push verwenden, um das Image in das Registry hochzuladen.

docker tag my-image:latest myregistry.azurecr.io/my-image:latest
docker push myregistry.azurecr.io/my-image:latest

Durch das Verständnis der Grundlagen von Docker-Images können Sie beginnen, Ihre eigenen Docker-basierten Anwendungen zu erstellen und zu verwalten.

Entfernen von Docker-Images mit 'docker rmi'

Der Befehl docker rmi wird verwendet, um ein oder mehrere Docker-Images vom lokalen System zu entfernen. Dies ist eine wichtige Operation, da Docker-Images einen erheblichen Speicherplatz verbrauchen können, insbesondere wenn Sie mehrere Versionen desselben Images oder nicht verwendete Images haben.

Verwendung des Befehls 'docker rmi'

Um ein Docker-Image zu entfernen, können Sie den Befehl docker rmi gefolgt von der Image-ID oder dem Image-Namen verwenden:

docker rmi image_name:tag
docker rmi image_id

Um beispielsweise das Image ubuntu:latest zu entfernen, würden Sie Folgendes ausführen:

docker rmi ubuntu:latest

Entfernen mehrerer Images

Sie können mehrere Images gleichzeitig entfernen, indem Sie deren IDs oder Namen durch Leerzeichen getrennt angeben:

docker rmi image1:tag image2:tag image3:tag
docker rmi image_id1 image_id2 image_id3

Entfernen von hängenden Images

Hängende Images sind Images, die nicht mehr getaggt sind und keinem Container zugeordnet sind. Sie können alle hängenden Images mit folgendem Befehl entfernen:

docker rmi $(docker images -f "dangling=true" -q)

Dieser Befehl verwendet zuerst den Befehl docker images, um alle hängenden Images zu finden, und übergibt dann die Image-IDs an den Befehl docker rmi, um sie zu entfernen.

Entfernen von Images mit Abhängigkeiten

Wenn ein Image Abhängigkeiten hat, wie z. B. Kind-Images oder Images, die von laufenden Containern verwendet werden, können Sie es nicht direkt entfernen. Sie müssen zuerst die abhängigen Images entfernen oder die Container stoppen und entfernen, die das Image verwenden.

graph TD A[Basis-Image] --> B[Kind-Image 1] A --> C[Kind-Image 2] B --> D[Container 1] C --> E[Container 2]

In diesem Szenario müssten Sie die Container (D und E) entfernen, bevor Sie die Kind-Images (B und C) entfernen können, und dann können Sie das Basis-Image (A) entfernen.

Durch das Verständnis der effektiven Verwendung des Befehls docker rmi können Sie Ihre Docker-Umgebung sauber und effizient halten.

Effektive Strategien zum Entfernen von Images

Das effektive Entfernen von Docker-Images ist entscheidend für die Aufrechterhaltung einer sauberen und effizienten Docker-Umgebung. Hier sind einige Strategien, die Ihnen helfen, Ihre Docker-Images effektiv zu verwalten:

Überwachung der Image-Nutzung

Überwachen Sie regelmäßig die Docker-Images auf Ihrem System, um nicht verwendete oder veraltete Images zu identifizieren. Sie können den Befehl docker images verwenden, um alle Images auf Ihrem System zusammen mit ihrer Größe und dem Erstellungsdatum aufzulisten.

docker images

Dies gibt Ihnen einen Überblick über die Images auf Ihrem System, was Ihnen bei der Identifizierung von Kandidaten für das Entfernen helfen kann.

Verwendung automatisierter Bereinigungs-Skripte

Sie können ein Skript erstellen, um regelmäßig nicht verwendete oder hängende Images automatisch zu entfernen. Hier ist ein Beispiel-Skript, das Sie verwenden können:

#!/bin/bash

## Entfernen von hängenden Images
docker rmi $(docker images -f "dangling=true" -q)

## Entfernen von Images älter als 30 Tage
docker rmi $(docker images --filter "before=$(date -d '30 days ago' '+%Y-%m-%d')" -q)

Sie können dieses Skript mit einem Tool wie cron periodisch ausführen.

Nutzung der Image-Tagging

Eine korrekte Tagging Ihrer Docker-Images kann die Verwaltung und das Entfernen vereinfachen. Verwenden Sie aussagekräftige Tags, die den Zweck, die Version oder die Umgebung des Images widerspiegeln. Dies hilft Ihnen, bestimmte Versionen eines Images leichter zu identifizieren und zu entfernen.

Bereinigung von Docker-Images

Der Befehl docker image prune kann verwendet werden, um alle nicht verwendeten Images (hängende und nicht referenzierte) von Ihrem System zu entfernen. Dies ist eine bequeme Möglichkeit, Ihre Docker-Umgebung zu bereinigen, ohne einzelne Images manuell identifizieren und entfernen zu müssen.

docker image prune

Sie können auch die Option --filter verwenden, um Images basierend auf bestimmten Kriterien zu bereinigen, z. B. dem Alter oder der Größe des Images.

docker image prune --filter "until=24h"

Dies entfernt alle Images, die älter als 24 Stunden sind.

Durch die Implementierung dieser effektiven Strategien zum Entfernen von Images können Sie Ihre Docker-Umgebung sauber, effizient und gut organisiert halten.

Zusammenfassung

Am Ende dieses Tutorials verfügen Sie über ein umfassendes Verständnis, wie Sie Docker-Images effektiv mit dem Befehl docker rmi entfernen. Sie lernen die besten Praktiken für das Entfernen von Images, um sicherzustellen, dass Ihre Docker-Umgebung gut organisiert und für die Speicherung optimiert ist. Die Beherrschung dieser Fähigkeit hilft Ihnen, eine saubere und effiziente Docker-Umgebung zu pflegen, sodass Sie sich auf die Anwendungsentwicklung und -bereitstellung konzentrieren können.