1. Suchen Sie das Docker-Containerprotokoll
Unter Linux werden Containerprotokolle im Allgemeinen unter /var/lib/docker/containers/container_id/ gespeichert Die Datei, die mit json.log (Geschäftsprotokoll) endet, ist sehr groß. Überprüfen Sie die Größe jeder Protokolldatei. Der Inhalt lautet wie folgt:
#!/bin/sh echo "======== docker containers logs file size ========" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do ls -lh $log done
Führen Sie den folgenden Befehl aus:
# chmod +x docker_log_size.sh # ./docker_log_size.sh
2, Docker-Container-Protokolle bereinigen
Wenn der Docker-Container ausgeführt wird, werden Sie nach dem Löschen des Protokolls mit rm -rf feststellen, dass der Speicherplatz nicht über df freigegeben wurde -h-Befehl.
Der Grund dafür ist, dass in Linux- oder Unix-Systemen durch das Löschen von Dateien über rm -rf oder den Dateimanager die Verknüpfung mit der Verzeichnisstruktur des Dateisystems aufgehoben wird. Wenn die Datei geöffnet ist (von einem Prozess verwendet wird), kann der Prozess die Datei weiterhin lesen und der Speicherplatz bleibt belegt.
Die richtige Methode ist cat /dev/null > Natürlich können Sie es auch über rm -rf löschen und Docker neu starten. Stellen Sie als Nächstes ein Protokollbereinigungsskript „clean_docker_log.sh“ mit folgendem Inhalt bereit:
#!/bin/sh echo "======== start clean docker containers logs ========" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do echo "clean logs : $log" cat /dev/null > $log done echo "======== end clean docker containers logs ========
# chmod +x clean_docker_log.sh # ./clean_docker_log.sh
Das obige ist der detaillierte Inhalt vonSo löschen Sie Docker-Protokolle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!