Docker-Reinigungskiller/Docker-Overlay-Datei nimmt zu viel Speicherplatz ein

Docker-Reinigungskiller/Docker-Overlay-Datei nimmt zu viel Speicherplatz ein

[Wenn ich mir all die Migrationsdateien im Internet anschaue, habe ich den Eindruck, dass sie unzuverlässig sind und nur die Symptome behandeln, nicht aber die Grundursache (so sollte ein Programmierer der neuen Generation nicht sein)]

Nach der Überprüfung mit „du -sh*“ stellte ich fest, dass der Overlay-Ordner explodiert war.

docker system prune -a hat nur 7g Speicherplatz freigegeben, und der Ordner ist immer noch 30g groß

Die Festplattennutzung ist von 100 % auf etwa 80 % gesunken, was nicht akzeptabel ist. Nach weiteren zwei Tagen Betrieb ist die Festplatte immer noch voll!

Endlich ist der Killer da, installieren Sie Portainer

Eine Reihe von Tutorials zur Docker-Installation

Ich verwende hier dokcer-compose zum Bereitstellen, daher ist die folgende Konfiguration

 Träger:
  Bild: portainer/portainer
  Neustart: immer
  Häfen:
  - "9000:9000"
  Bände:
  – /var/run/docker.sock:/var/run/docker.sock
  – /data/docker/portainer/data:/data

Nach up -d ruft nginx den Port ab und greift darauf zu.

Entfernen Sie alle nicht verwendeten.

Nachdem ich die Festplattennutzung noch einmal überprüft habe, kann ich endlich ohne Sorgen paddeln~~~

PS: Tatsächlich hat unsere Abteilung diese Methode schon einmal verwendet, aber ... . . . . Äh, ich habe es vergessen. Äh, äh, äh. . . . Also schreib es als Lektion auf~

Zusätzliches Wissen: Centos7 konfiguriert Overlay-Speichertreiber für Docker

Prämisse:

RHEL oder CentOS verwenden den neuen Docker-Speichertreiber (Overlay oder Overlay2) und müssen die Systemkernelversion auf 3.10.0-514 oder höher aktualisieren. Die Schritte des Kämmens sind wie folgt:

Bestätigen Sie den Kernel

Version 3.10.0-514 oder höher

uname -r

3.10.0-514.++++.x86_64

Systemaktualisierung

sudo yum upgrade --assumeyes --tolerant

sudo yum update --assumeyes

Bestätigen Sie, ob der Kernel das Overlay-Modul geladen hat

grep-Overlay

Wenn der Rückgabewert leer ist, müssen Sie das Laden des Moduls konfigurieren

Overlay aktivieren

sudo tee /etc/modules-load.d/overlay.conf <<-'EOF'
Überlagerung
Ende der Laufzeit

Starten Sie das System neu

reboot

Bestätigen Sie, dass das Overlay aktiviert ist

grep-Overlay

Überlagerung

Docker-Speicherpartition vorbereiten

Es wird dringend empfohlen, eine andere Festplatte oder Partition vorzubereiten, den Parameter -n ftype=1 hinzuzufügen, um sie als xfs zu formatieren, und dann /var/lib/docker darauf zu mounten:

Gründe

Beim Formatieren des XFS-Dateisystems müssen Sie -n ftype=1 hinzufügen.

Parameter: -n erstellt das Dateisystem nicht tatsächlich, sondern zeigt nur die erstellten Informationen an;

ftype = value ermöglicht die Speicherung des Inode-Typs in der Verzeichnisstruktur, sodass readdir und getdents den Inode-Typ ermitteln können, ohne den Inode nachzuschlagen. Der Standardwert ist 0 und existiert in der Verzeichnisstruktur nicht.

Lokale Festplatte formatieren

Stellen Sie sicher, dass die lokale Festplatte richtig formatiert ist.

mkfs.xfs -f -n ftype=1 /dev/sdg5

Datenträgerinformationen bestätigen

lsblk -a -f 
NAME FSTYPE LABEL UUID MOUNTPOINT
 
├─sdg4             
├─sdg5 xfs 71165973-9e3f-4d8e-9a4e-2c00c0e70efa

Konfigurieren der Datenträger-Boot-Mount

mehr /etc/fstab

UUID=71165973-9e3f-4d8e-9a4e-2c00c0e70efa /var/lib/docker xfs-Standardwerte 0 0

Manuelles Mounten der Festplatte

einhängen -a

Informationen zur Datenträgerbereitstellung anzeigen

lsblk

├─sdg5 8:101 0 200G 0 Teil /var/lib/docker

Ändern Sie die Docker-Startdatei und legen Sie fest, dass Overlay-Speicher verwendet wird.

mehr /etc/sysconfig/docker

# /etc/sysconfig/docker
 
# Ändern Sie diese Optionen, wenn Sie die Art und Weise ändern möchten, wie der Docker-Daemon ausgeführt wird
OPTIONEN='--storage-driver=overlay --selinux-enabled --log-driver=journald --signature-verification=false' 
wenn [ -z "${DOCKER_CERT_PATH}" ]; dann
 DOCKER_CERT_PATH=/etc/docker
fi

oder

/etc/docker/daemon.json
{
 "Speichertreiber": "Overlay2",
 "Speicheroptionen": [
 „overlay2.override_kernel_check=true“
 ]
}

Start hinzufügen

systemctl daemon-reload
systemctl starte Docker
systemctl aktiviert Docker

Überprüfen der Docker-Speicherinformationen

$ Docker-Info
 
Behälter: 0
Bilder: 0
Speichertreiber: overlay2
 Unterstützendes Dateisystem: xfs
 Unterstützt d_type: true <<=== Fokus auf Native Overlay Diff: true
<Ausgabe abgeschnitten>

Wenn Sie Docker mit einem Overlay/Overlay-Treiber verwenden, der d_typ nicht unterstützt, kann es bei der Dateibearbeitung von Docker zu Fehlern kommen, z. B. das Löschen bestimmter Verzeichnisse oder Dateien, das Festlegen von Datei- oder Verzeichnisberechtigungen oder Benutzern usw. Dies sind unerwartete Fehler.

Beispielsweise können beim Erstellen von Docker Vorgänge wie das Löschen von Dateien während des Erstellungsprozesses fehlschlagen, was zu einem Abbruch des Erstellungsprozesses führt.

Der obige Artikel über Docker-Reinigungskiller/Lösung für das Problem, dass Docker-Overlay-Dateien zu viel Speicherplatz belegen, ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Der Festplattenspeicherplatzverbrauch von Docker Overlay2 ist zu groß, um die Methode zu bereinigen

<<:  Express implementiert Login-Verifizierung

>>:  Zusammenfassung häufig verwendeter Anweisungen zur Änderung mehrerer Tabellen in MySQL und Oracle

Artikel empfehlen

So erzielen Sie mit CSS einen Daten-Hotspot-Effekt

Die Wirkung ist wie folgt: analysieren 1. Hier se...

Detaillierte Erklärung zur Überwachung von MySQL-Anweisungen

Schnelles Lesen Warum müssen wir SQL-Anweisungen ...

So installieren Sie Android x86 in einer virtuellen VMware-Maschine

Manchmal möchten Sie eine App testen, aber nicht ...

2 Methoden und Vorsichtsmaßnahmen zum Hinzufügen von Skripten in HTML

So fügen Sie ein <script>-Skript in HTML ein...

Lösung für die in Firefox oder IE nicht ermittelte Spannweite

Code kopieren Der Code lautet wie folgt: <html...

Vue realisiert den Card-Flip-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

Das neueste Installations-Tutorial für virtuelle Maschinen VMware 14

Zuerst gebe ich Ihnen den Aktivierungscode für VM...

Erklärung der Funktionsweise und Verwendung von Redux

Inhaltsverzeichnis 1. Was ist Redux? 2. Das Redux...

Zusammenfassung der Methoden zum Abfragen von MySQL-Benutzerberechtigungen

Einführung von zwei Methoden zum Anzeigen von MyS...

HTML-, CSS- und JS-Kompatibilitätsbaum (IE, Firefox, Chrome)

Was ist ein Baum im Webdesign? Einfach ausgedrückt...

Spezifische Verwendung von Lazy Loading und Preloading in js

Verzögertes Laden (Lazy Loading) und Vorladen sin...

Realisierung der Echtzeit-Dateisynchronisierung zwischen Linux-Servern

Anwendungsszenarien Bei vorhandenen Servern A und...

Analyse des Prinzips und der Verwendung der kontinuierlichen MySQL-Aggregation

Dieser Artikel veranschaulicht anhand von Beispie...