Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Größenbeschränkung für Docker-Protokolle und Wechsel des Speicherverzeichnisses

Größenbeschränkung für Docker-Protokolle und Wechsel des Speicherverzeichnisses

WBOY
WBOYnach vorne
2023-06-09 19:18:421320Durchsuche

Größenbeschränkung für Docker-Protokolle und Wechsel des Speicherverzeichnisses

Viele virtuelle CentOS-Maschinen werden in verschiedenen Umgebungen des Produkts verwendet. Standardmäßig beträgt der Speicherplatz im Stammverzeichnis 50 G. Mit zunehmender Nutzungsdauer wird der Speicherplatz nicht mehr ausreichen.

Die von uns immer angewandte Methode besteht darin, nutzlose Bilder und Docker-Protokolle zu löschen, damit der Server immer verfügbar ist. Erst als die Reinigung nutzlos war, dachte ich darüber nach, andere Methoden zu finden.

Wenn wir nicht in eine verzweifelte Situation geraten, verlassen wir uns gewöhnlich auf Methoden und Werkzeuge, mit denen wir vertraut sind. Es ist vielleicht nicht effizient, aber es kann das Problem lösen Es wird dafür sorgen, dass die Leute sich nicht wohlfühlen.

Die anderen oben genannten Methoden sind eigentlich sehr einfach und können mit ein wenig Recherche erhalten werden. Sie dienen dazu, die Docker-Protokollgröße zu begrenzen und das Docker-Datenverzeichnis auf externen Speicher umzustellen.

Protokollbeschränkung

1. Bearbeiten Sie die Docker-Konfigurationsdatei /etc/docker/daemon.json, erstellen Sie eine neue:

sudo vi /etc/docker/daemon.json

2 Protokolldatei Die Größe beträgt 100 MB und die letzten 5 Protokolldateien werden gespeichert. Hier verwenden wir die Parameter „max-size“ und „max-file“, um die Größe und Anzahl der Protokolle zu steuern:

{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "5"
}
}
  • max-size: die maximale Größe einer einzelnen Protokolldatei
  • max-file: Behalten Sie maximal mehrere Protokolle bei Wenn die Protokollgröße einer einzelnen Datei die Einstellung überschreitet, wird eine neue Protokolldatei generiert.

3. Starten Sie den Docker-Dienst neu, damit die Konfiguration wirksam wird:

sudo systemctl restart docker

Datenverzeichniswechsel

In CentOS ist das Standardverzeichnis von Docker /var/lib/docker Die spezifischen Schritte zum Einrichten des Dcoker-Datenverzeichnisses sind wie folgt:

1. Fügen Sie die Data-Root-Option in der Konfigurationsdatei /etc/docker/daemon.json hinzu:

{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "5"
}
"data-root": "/home/docker"
}
  • /home/docker Das Verzeichnis ist ein externer Speicher oder verfügt über einen relativ großen Speicherplatz.

2. Deaktivieren Sie Docker.

sudo systemctl stop docker

3. Kopieren Sie den Inhalt des Docker-Standardverzeichnisses in ein neues Verzeichnis:

sudo rsync -aqxP /var/lib/docker/ /home/docker/
  • Ein Tool zur Remote-Synchronisierung von Dateien und Verzeichnissen;
  • weist rsync an, Dateien und Verzeichnisse im Archivmodus zu synchronisieren , q bedeutet Ruhemodus (keine Ausgabe wird angezeigt), x bedeutet Dateisystemgrenzen werden nicht überschritten, P .

4. Ändern Sie den Namen des Standardverzeichnisses in bak:

mv /var/lib/docker /var/lib/docker.bak

Der Vorteil besteht darin, dass Sie die Originaldaten sichern und löschen können, nachdem der Vorgang stabil ist gelesen, da die Konfiguration nicht wirksam wird.

5. Dcoker aktivieren:

sudo systemctl start docker

Im dritten Schritt oben wurde der Befehl rsync verwendet, um den Inhalt zu synchronisieren. Die Bedeutung dieses Befehls besteht darin, das Tool rsync zu verwenden, um alle Dateien in /var/lib/docker/ zu synchronisieren. Verzeichnis auf dem lokalen Computer. Dateien und Unterverzeichnisse werden mit /home/docker/ auf einem anderen lokalen Computer synchronisiert.

Vorher wurden cp und scp hauptsächlich zum Bedienen von Dateien oder Verzeichnissen verwendet. Als ich die Informationen überprüfte, erfuhr ich davon rsync-Befehlstool und weiter lernen. Gehen wir zu cp und scp.

Der Unterschied zwischen rsync und cp und rsync

  • Kopiermethode: cp und scp kopieren die gesamte Datei an den Zielspeicherort, während rsync nur den Teil kopiert, der aktualisiert werden muss, was die Geschwindigkeit und Effizienz verbessern kann Kopieren.
  • Unterstützbarkeit: rsync unterstützt mehr Vorgänge wie Dateisynchronisierung, Dateisicherung, Dateiwiederherstellung usw. cp und scp unterstützen nur das Kopieren von Dateien.
  • Übertragungsmethode: cp kopiert Dateien zwischen lokalen Dateisystemen, scp führt Remote-Vorgänge aus und rsync kann Dateien zwischen lokalen oder Remote-Computern synchronisieren.
  • Effizienz: rsync ist effizienter, da es nur Dateien kopiert, die aktualisiert werden müssen.
  • Optionen: rsync bietet weitere Optionen und Konfigurationsoptionen, z. B. Komprimierung, Teilübertragung, dateisystemübergreifende Synchronisierung usw.

Kurz gesagt ist rsync ein leistungsfähigeres und effizienteres Tool zum Kopieren und Synchronisieren von Dateien. Wenn Sie Dateisynchronisierungs-, Sicherungs- und Wiederherstellungsvorgänge zwischen lokalen oder Remote-Computern durchführen müssen, wird die Verwendung von rsync empfohlen. Und cp und scp eignen sich für das einfache lokale Kopieren von Dateien und die Remote-Dateiübertragung.

Zusammenfassung

Durch diese Untersuchung der Protokollbeschränkungen und des Verzeichniswechsels habe ich zwei Gedanken:

1 Oft liegt ein besserer Weg nicht weit von Ihnen entfernt, es hängt davon ab, ob Sie bereit sind, diesen Schritt voranzutreiben Schritt für Schritt, das heißt, geben Sie sich nicht mit irgendetwas zufrieden und haben Sie nicht die Einstellung „Es ist nicht unbrauchbar“. Das Gleiche gilt für die Herstellung von Produkten und das Erlernen von Fähigkeiten.

2. Viele Fähigkeiten, die Sie nach der Arbeit erlernen, werden durch das ständige Lösen von Problemen erlernt. Selbst wenn Sie sich mit einem bestimmten Bereich sehr vertraut fühlen, ist dies meiner Meinung nach notwendig Wenn Sie systematisch lernen, werden Sie auf jeden Fall viele blinde Flecken beseitigen können.

Das obige ist der detaillierte Inhalt vonGrößenbeschränkung für Docker-Protokolle und Wechsel des Speicherverzeichnisses. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen