In der Docker- Dokumentation von Docker Image Prune ist es möglich, das Flag -a to zu verwenden
Entfernen Sie alle nicht verwendeten Bilder, nicht nur baumelnde
und später
Entfernen Sie alle baumelnden Bilder. Wenn -a angegeben ist, werden auch alle Bilder entfernt, auf die von keinem Container verwiesen wird.
Kann mir jemand erklären, was baumelnde Bilder sind und was der Unterschied zwischen baumelnden und nicht verwendeten Bildern ist?
prune
wird in der Produktion nicht empfohlen /Antworten:
Ein nicht verwendetes Bild bedeutet, dass es nicht zugewiesen oder in einem Container verwendet wurde. Wenn Sie beispielsweise ausgeführt werden,
docker ps -a
werden alle Ihre verlassenen und aktuell ausgeführten Container aufgelistet. Alle Bilder, die in einem der Container verwendet werden, sind "gebrauchte Bilder".Auf der anderen Seite bedeutet ein baumelndes Bild nur, dass Sie den neuen Build des Bildes erstellt haben, aber es wurde kein neuer Name vergeben. So werden die alten Bilder, die Sie haben, zum "baumelnden Bild". Diese alten Bilder sind diejenigen, die nicht markiert sind und
<none>
beim Ausführen " " auf ihrem Namen anzeigendocker images
.Beim Ausführen
docker system prune -a
werden sowohl nicht verwendete als auch baumelnde Bilder entfernt. Daher sind Bilder, die in einem Container verwendet werden, unabhängig davon, ob sie beendet wurden oder gerade ausgeführt werden, NICHT betroffen.quelle
docker system prune --all --filter "until=24h"
bewahrt auch aktuelle Bilderdocker system prune -a
gestoppte Container entfernt. Es sollten also auch Bilder entfernt werden, die nur mit verlassenen Containern verknüpft sind, oder?Sicherster und einfachster Weg, um baumelnde Bilder zu bereinigen
Docker-Bilder bestehen aus mehreren Ebenen. Baumelnde Bilder sind Ebenen, die keine Beziehung zu markierten Bildern haben. Sie erfüllen keinen Zweck mehr und belegen Speicherplatz.
Zum Auflisten baumelnder Bilder durch Hinzufügen des Filter-Flags
-f
mit dem Wertdangling=true
todocker images
.Liste baumelnde Bilder
Entfernen Sie baumelnde Bilder
ODER
Wenn wir Cron-Jobs ausführen, um das baumelnde Material zu löschen, verwenden Sie die oben genannten Schritte, um sicherzustellen, dass der Job erfolgreich ausgeführt wird. Wie in Jenkins, wenn wir einen Free-Style-Job mit dem folgenden Commad-Job ausführen, wird dies niemals scheitern, selbst wenn kein baumelndes Zeug in der Maschine vorhanden ist.
Dies ist der sicherste und einfachste Weg, um baumelnde Bilder zu bereinigen und unseren Speicherplatz zur Verwendung zurückzugewinnen.
quelle
docker images
baumeln. Wie überprüfe ich ihre Größe? Außerdem sind die Bilder mit dem Namen und dem Tag "Keine"docker images -a
Zwischenbilder. Können sie gelöscht werden und wie kann man ihre Größe überprüfen?Bilder im Docker werden von einem sha256-Digest referenziert, der häufig als Bild-ID bezeichnet wird. Dieser Digest ist alles, was Sie benötigen, damit das Image auf dem Docker-Host vorhanden ist. In der Regel haben Sie Tags, die auf diese Digests verweisen, z. B. das Tag Busybox: Die neuesten aktuellen Punkte für die Image-ID c30178c523 ... auf meinem System. Mehrere Tags können auf dasselbe Image verweisen, und jedes Tag kann so geändert werden, dass es auf eine andere ID verweist, z. B. wenn Sie eine neue Kopie von Busybox: Recent abrufen oder eine neue Version Ihres Anwendungsimages erstellen.
Dangling-Bilder sind Bilder, die kein Tag und kein untergeordnetes Bild haben (z. B. ein altes Bild, das eine andere Version von verwendet hat
FROM busybox:latest
) und auf sie zeigen. Möglicherweise hatte sie zuvor ein Tag, das auf sie zeigte, und dieses Tag wurde später geändert. Oder sie hatten möglicherweise noch nie ein Tag (z. B. die Ausgabe von adocker build
ohne die Tag-Option). Diese können normalerweise sicher entfernt werden, solange noch keine Container ausgeführt werden, die auf die alte Image-ID verweisen. Der Hauptgrund, sie zu behalten, ist das Erstellen von Caching-Zwecken.Darüber hinaus haben Sie möglicherweise Bilder heruntergeladen, die derzeit nicht von Containern verwendet werden (einschließlich gestoppter Container). Diese Bilder unterscheiden sich grundlegend von baumelnden Bildern und können sicher entfernt werden, solange Sie nicht vorhaben, sie in Zukunft zu verwenden, oder wenn Sie eine weitere Kopie herunterladen möchten, wenn Sie sie benötigen.
quelle
docker images -a
) auch als baumelnde Bilder bezeichnet? Werden sie mit Docker Image Prune gelöscht?Dangling-Bilder sind Ebenen, die keine Beziehung zu markierten Bildern haben. Sie erfüllen keinen Zweck mehr und belegen Speicherplatz.
Ein nicht verwendetes Bild ist ein Bild, das nicht in einem Container zugewiesen oder verwendet wurde.
Liste baumelnde Bilder
quelle
baumelnde Bilder sind Bilder ohne Tags. Der folgende Befehl gibt eine Liste der baumelnden Bilder an.
docker image prune
löscht alle baumelnden Bilder.Nicht verwendete Bilder sind Bilder mit Tags, die derzeit jedoch nicht als Container verwendet werden. Möglicherweise benötigen Sie es in Zukunft oder nicht.
docker image prune -a
Löschen Sie alle baumelnden sowie nicht verwendeten Bilder.Im Allgemeinen möchten Sie erst nach einiger Zeit alle nicht verwendeten Bilder entfernen. Daher ist es besser, mit einem Filter zu entfernen.
docker image prune -f --filter "until=6h"
quelle
docker image prune -a -f --filter "until=6h"
Löscht auch baumelnde Bilder?docker image prune -f --filter "until=6h"
- da es kein -a gibt - warum werden dann nicht verwendete Bilder entfernt?Ich habe nützliche Befehle (Aliase) zum Entfernen baumelnder Bilder gesehen, mit freundlicher Genehmigung von andyneff hier: https://forums.docker.com/t/how-to-delete-cache/5753 :
quelle
Im Screenshot der Bilder baumeln "keine" Namen. Ein baumelndes Bild bedeutet nur, dass Sie den neuen Build des Bildes erstellt haben, ihm jedoch kein neuer Name zugewiesen wurde. So werden die alten Bilder, die Sie haben, zum "baumelnden Bild". Diese alten Bilder sind diejenigen, die nicht markiert sind und "" auf ihrem Namen anzeigen, wenn Sie Docker-Bilder ausführen.
docker system prune -a
entfernt es sowohl unbenutzte als auch baumelnde Bilder. Daher sind Bilder, die in einem Container verwendet werden, unabhängig davon, ob sie beendet wurden oder gerade ausgeführt werden, NICHT betroffen.quelle