Heim > Betrieb und Instandhaltung > Docker > So bereinigen Sie die von Docker belegten Ressourcen

So bereinigen Sie die von Docker belegten Ressourcen

王林
Freigeben: 2021-01-29 11:37:55
nach vorne
3223 Leute haben es durchsucht

So bereinigen Sie die von Docker belegten Ressourcen

Vorwort:

Freunde, die Docker häufig verwenden, wissen, dass Docker sehr schnell Ressourcen belegt. Am offensichtlichsten und am einfachsten zu erkennen ist die Belegung von Speicherplatz. Wie bereinigen wir also die von Docker belegten Systemressourcen?

(Lernvideo-Sharing: Einführung in die Programmierung)

Die Methode ist wie folgt:

Überprüfen Sie die von Docker belegten Ressourcen

Bevor wir Ressourcen bereinigen, müssen wir herausfinden, welche Systemressourcen von Docker belegt sind. Dies erfordert eine Kombination verschiedener Befehle.
Docker-Container ls: Standardmäßig werden nur laufende Container aufgelistet. Die Option -a listet alle Container auf, einschließlich der gestoppten.
docker image ls: Bildinformationen auflisten Die Option -a listet Zwischenbilder auf (das sind die Ebenen, von denen andere Bilder abhängen).
docker volume ls: Datenvolumes auflisten.
docker network ls: Netzwerke auflisten.
Docker-Info: Zeigt Informationen auf Systemebene an, z. B. die Anzahl der Container und Bilder usw.

Nachdem Sie mit diesen Befehlen die von Docker verwendeten Ressourcen überprüft haben, haben Sie sich meiner Meinung nach entschieden, einige von Docker belegte Ressourcen zu bereinigen! Beginnen wir mit den Ressourcen, die nicht genutzt werden.

Löschen Sie nur diese ungenutzten Ressourcen.

Docker bietet einen praktischen Docker-System-Prune-Befehl, um gestoppte Container, baumelnde Bilder, Netzwerke, auf die Container nicht verweisen, und Caches während des Erstellungsprozesses zu löschen:

$ docker system prune
Nach dem Login kopieren

So bereinigen Sie die von Docker belegten Ressourcen

Aus Sicherheitsgründen dieser Befehl löscht standardmäßig keine Datenvolumes, auf die kein Container verweist. Wenn Sie diese Datenvolumes gleichzeitig löschen müssen, müssen Sie den Parameter --volumns explizit angeben. Beispielsweise möchten Sie möglicherweise den folgenden Befehl ausführen:

$ docker system prune --all --force --volumes
Nach dem Login kopieren

Diesmal wird nicht nur das Datenvolumen gelöscht, es findet auch nicht einmal ein Bestätigungsprozess statt! Beachten Sie, dass durch die Verwendung des Parameters --all alle nicht referenzierten Bilder und nicht nur freie Bilder gelöscht werden.
Hier muss erklärt werden, was baumelnde Bilder sind. Tatsächlich können sie einfach als Bilder verstanden werden, auf die kein Bild verweist. Nachdem Sie beispielsweise das Bild neu erstellt haben, werden die zuvor erstellten Bildebenen, auf die nicht mehr verwiesen wird, zu freien Bildern:

So bereinigen Sie die von Docker belegten Ressourcen

Nachdem das lokale Bild aktualisiert wurde, wird etwas Ähnliches wie das rote Kästchen im Bild angezeigt Spiegel. Dies bedeutet, dass auf die alten Bilder nicht mehr verwiesen wird und sie zu freien Bildern werden. Wenn Sie den Parameter -a verwenden, finden Sie auch einen anderen Typ von -Spiegel, dessen Repository- und Tag-Spalten beide als angezeigt werden:

So bereinigen Sie die von Docker belegten Ressourcen

Diese Spiegel werden als Zwischenspiegel (d. h. andere) bezeichnet Die Ebene, von der das Bild abhängt).

Wir können Prune auch unter verschiedenen Unterbefehlen ausführen, sodass bestimmte Arten von Ressourcen gelöscht werden:

docker container prune # 删除所有退出状态的容器
docker volume prune # 删除未被使用的数据卷
docker image prune # 删除 dangling 或所有未被使用的镜像
Nach dem Login kopieren

Lassen Sie Docker während der Installation in den Status zurückkehren.

Der „Status während der Installation“ bezieht sich hier auf die Ressourcenbelegung und nicht auf die Docker-bezogene Konfiguration . Dies ist auch ein relativ häufiger Anwendungsfall. Beispielsweise muss der Autor eine Produktionsumgebung an einem bestimmten Tag automatisch in einer sauberen Docker-Umgebung wiederherstellen (unter Verwendung der Sicherungsdaten der Produktionsumgebung), um Fehler zu untersuchen. Werfen wir einen Blick darauf, was getan werden muss?
Erinnern Sie sich an den Befehl docker system prune --all --force --volumns, den wir zuvor eingeführt haben. Wenn alle Container im System vor der Ausführung dieses Befehls gestoppt wurden, entfernt dieser Befehl alle Ressourcen! Okay, jetzt wollen wir herausfinden, wie wir alle Container im System stoppen können.

Der Docker-Container-Stoppbefehl kann einen oder mehrere Container stoppen. Wir müssen nur alle laufenden Container im System auflisten. Da es Docker nichts ausmacht, wenn wir einen gestoppten Container erneut stoppen, lassen Sie uns einfach und unhöflich sein und alle Container (einschließlich der gestoppten) direkt auflisten!

$ docker container ls -a -q
Nach dem Login kopieren

So bereinigen Sie die von Docker belegten Ressourcen

-a zeigt alle Container an, -q zeigt nur numerische Container-IDs an.
Verwenden Sie dann das Ergebnis der Ausführung dieses Befehls als Parameter des Docker-Container-Stoppbefehls:

$ docker container stop $(docker container ls -a -q)
Nach dem Login kopieren

Der vollständige Befehl zum Wiederherstellen der Docker-Umgebung lautet wie folgt:

$ docker container stop $(docker container ls -a -q) && docker system prune --all --force --volumns
Nach dem Login kopieren

Ähnlich wie beim vorherigen Prune-Befehl können Sie auch a vollständig löschen Bestimmter Ressourcentyp:
Container löschen: Docker Container rm $(docker Container ls -a -q)
Image löschen: Docker Image rm $(Docker Image ls -a -q)
Datenvolumen löschen: Docker Volume rm $(docker volume ls -q)
Netzwerk löschen: docker network rm $(docker network ls -q)

Shell-Alias ​​erstellen

Die oben genannten Befehle können die Aufgabe erledigen, sind aber sehr umständlich. Wir können die Ausführung dieser Befehle über die Shell vereinfachen Alias-Funktion.

alias docker-clean-unused='docker system prune --all --force --volumes'alias docker-clean-all='docker stop $(docker container ls -a -q) && docker system prune --all --force --volumes'
Nach dem Login kopieren

把上面的命令写入到用户的 ~/.bashrc 文件中就可以了!

So bereinigen Sie die von Docker belegten Ressourcen

执行一次清理任务:

So bereinigen Sie die von Docker belegten Ressourcen

总结

经常清理系统资源不仅能够让系统运行的更流畅,也利于我们把精力集中在相关的重点资源上面。所以建议大家能够使用相关的资源清理命令,让 docker 保持清爽和高效。

相关推荐:docker入门教程

Das obige ist der detaillierte Inhalt vonSo bereinigen Sie die von Docker belegten Ressourcen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage