Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 8653|Antwort: 6

Docker-Protokolle füllen Festplatten und Datenmigration

[Link kopieren]
Veröffentlicht am 07.02.2022 10:21:43 | | | |
Der Kollege reagierte, dass das System sich nicht in die Testumgebung einloggen konnte, überprüfte die Überwachung entschlossen und stellte fest, dass der Serviceport offen war, meldete sich am Server an, um die Festplattennutzung zu überprüfen, und stellte fest, dass das auf einer bestimmte Festplatte montierte Verzeichnis voll war, wie in der untenstehenden Abbildung gezeigt:



Die Festplatte ist zu 100 % die von der Docker-Anwendung verwendete Festplatte, und zunächst wird vermutet, dass die Unfähigkeit, Logdateien zu schreiben, das Modul daran hindert, Dienste für die Außenwelt bereitzustellen.

CentOS zählt jede Ordnergröße und sucht nach großen Dateien
https://www.itsvse.com/thread-9542-1-1.html
Suche nach großen Dateien und finde sie schließlich im Unterverzeichnis /var/lib/docker/containers/Eine bestimmte json.log Datei nimmt 30 GB in Anspruch

Reinigung laufender Containerstämme (Symptombehandlung)

Damit der Behälter sofort normal serviert werden kann. Temporäre Lösung: Solche Dateien schnell bereinigen, Festplattenspeicher freimachen, das Skript lautet wie folgt:

Wenn der Docker-Container läuft, stellt man nach dem Löschen der Logs mit rm -rf fest, dass durch df -h kein Speicherplatz frei wird. Der Grund ist, dass auf Linux- oder Unix-Systemen das Löschen einer Datei über rm -rf oder einen Dateimanager sie von der Verzeichnisstruktur des Dateisystems entkoppelt. Wenn die Datei geöffnet wird (und ein Prozess im Einsatz ist), kann der Prozess die Datei weiterhin lesen und der Speicherplatz wird ständig belegt. Die korrekte Pose ist cat /dev/null > *-json.log, und natürlich kannst du docker auch nach dem Entfernen per rm -rf neu starten.

Bemerkung:Erstelle ein neues Skript im Verzeichnis der freien Festplatte, ansonsten kann das Skript nicht normal erstellt werden


Einstellung der Loggröße des Docker-Containers (Wurzelursache)

Setzen Sie die maximale Loggröße eines Containerdienstes ein und fügen Sie beim Start des Containers einen Parameter hinzu, um die Loggröße des Containers festzulegen, zum Beispiel:

max-size=500m, was bedeutet, dass die obere Grenze der Holzgröße eines Containers 500m beträgt,
max-file=3, was bedeutet, dass ein Container drei Logs hat, nämlich id+.json, id+1.json und id+2.json.


Docker ist auf eine neue Festplatte migriert

Docker-bezogene Daten befinden sich auf der Systemfestplatte, die Systemfestplatte ist nur 50 GB groß und die Datenfestplatte ist 100 GB groß – wie kann man die vorhandenen docker-Daten auf die Datenfestplatte übertragen?

Für docker, der mit der CentOS-Systemmethode yum installiert wird, sollte das Standardinstallationsverzeichnis lauten: /var/lib/docker

Docker-Version < v17.05.0

Da dockerd den Image- und Containerspeicherpfad über den Parametergraphen angeben kann, wie –graph=/var/lib/docker, müssen wir nur die Konfigurationsdatei ändern, um die Startparameter anzugeben.

Die Konfigurationsdatei von Docker kann die meisten Hintergrundprozessparameter festlegen, und der Speicherort in jedem Betriebssystem ist inkonsistent in Ubuntu: /etc/default/docker und in CentOS: /etc/sysconfig/docker.

Docker-Version >= v17.05.0

Da Docker die Graph-Funktion in dieser Version offiziell eingestellt hat, kann man, wenn man die Docker-Version >= v17.05.0 auf dem Rechner installiert hat, das Standardinstallations- (Speicher-)Verzeichnis von Docker nicht durch die Angabe des Graph-Parameters in der /etc/default/docker-Konfigurationsdatei ändern.

Es gibt weitere Möglichkeiten, wie die neue Version von Docker unser Ziel erreichen kann, das Installations- (Speicher-)Verzeichnis zu ändern: indem sie (neue) /etc/docker/daemon.json modifiziert, um den Wert des Datenroot-Parameters zu spezifizieren.

Docker-Daemon-Verzeichniskonfiguration:Der Hyperlink-Login ist sichtbar.

Migrationsvorbereitung: Alle Containeranwendungen stoppen und Docker-Dienste stoppen (systemctl stop docker).


Docker schaut sich die Container-Neustarteinstellungen und Bulk-Stop-Container an
https://www.itsvse.com/thread-10130-1-1.html
Erstelle ein neues Verzeichnis in /home/software mit folgendem Befehl:

Migrate das /var/lib/docker-Verzeichnis in das /home/software/docker-Verzeichnis (es wird empfohlen, es zu kopieren und dann die /var/lib/docker-Datei zu löschen, wenn alles in Ordnung ist), der Befehl lautet wie folgt:

Beim KopierenStelle sicher, dass du den Parameter -a hinzufügst, sonst funktionieren manche Container nicht richtig!!!!!

Sehen Sie alle Soft-Verbindungen und Dateipunkte im aktuellen Verzeichnis mit folgendem Befehl an:


Ändern Sie die Datei /etc/docker/daemon.json mit folgendem Befehl:



Speichere und starte dann den Docker-Service mit folgendem Befehl:

Starte den Container, die Tests laufen alle normal, und schließlich,Lösche den /var/lib/docker-Ordner



(Ende)




Vorhergehend:Überprüfe die Ein- und Abschaltzeiten des Linux-Systems
Nächster:Filterfabriken, die in Spring Cloud Gateway integriert sind
Veröffentlicht am 13.02.2022 16:36:29 |
Lernen lernen。。。。。
 Vermieter| Veröffentlicht am 24.02.2022 09:38:26 |
docker: Wie man ein Non-Image entfernt
https://www.itsvse.com/thread-10112-1-1.html
 Vermieter| Veröffentlicht am 24.02.2022 13:21:48 |
Liste
Beschreibung
CONTAINER-ID und NameDie ID und der Name des Behälters
CPU % und MEM %Der Prozentsatz der Host-CPU und des Speichers, den der Container verwendet
MEM USAGE / LIMITDer gesamte Speicher, den der Container verwendet, und die insgesamt zugelassene Speichermenge
NET-I/ODie Datenmenge, die ein Container über seine Netzwerkschnittstelle sendet und empfängt
BLOCK I/ODie Datenmenge, die ein Container von einem Blockgerät auf dem Host liest und schreibt
PIDsDie Anzahl der vom Container erstellten Prozessen oder Threads


 Vermieter| Veröffentlicht am 25.03.2022 14:45:13 |
Du kannst die entsprechende Containeranwendung finden, indem du den Namenswert der /var/lib/docker/containers/xxxx/config.v2.json-Datei abfrage.



Veröffentlicht am 07.12.2022 14:17:31 |
Docker-Protokolle füllen Festplatten und Datenmigration
 Vermieter| Veröffentlicht am 17.04.2023 09:59:49 |
Docker leert die Logs eines Containers einzeln mit folgendem Befehl:

Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com