Vorwort Dieser Artikel beschreibt zwei Situationen, die mir kürzlich begegnet sind. Ich werde später weitere hinzufügen, wenn es neue Erkenntnisse gibt. Referenzdokumentation: https://docs.docker.com/engine/reference/commandline/dockerd/ Zu viele Anwendungsprotokolle Standardmäßig verfügt jeder Docker-Container über 10 GB Speicherplatz. Wenn diese Größe überschritten wird, treten im Container Probleme auf. Informationen zum Ändern der Standardcontainergröße finden Sie in der offiziellen Dokumentation zum Parameter dm.basesize: Gibt die beim Erstellen des Basisgeräts zu verwendende Größe an, wodurch die Größe von Bildern und Containern begrenzt wird. Der Standardwert ist 10G. Beachten Sie, dass dünne Geräte von Natur aus „spärlich“ sind, sodass ein fast leeres 10G-Gerät nicht 10 GB Speicherplatz im Pool nutzt. Allerdings benötigt das Dateisystem umso mehr Speicherplatz für leere Boxen, je größer das Gerät ist. Die Basisgerätegröße kann beim Neustart des Daemons erhöht werden, wodurch alle zukünftigen Images und Container (basierend auf diesen neuen Images) die neue Basisgerätegröße haben können. Beispiel $ sudo dockerd --storage-opt dm.basesize=50G Dadurch wird die Basisgerätegröße auf 50 G erhöht. Wenn die vorhandene Basisgerätegröße 50 GB überschreitet, gibt der Docker-Daemon einen Fehler aus. Mit dieser Option kann der Benutzer die Größe des Basisgeräts erweitern, jedoch nicht verkleinern. Dieser Wert wirkt sich auf das systemweite leere „Basis“-Dateisystem aus, das möglicherweise von abgerufenen Bildern initialisiert und übernommen wurde. Normalerweise sind zum Ändern dieses Werts zusätzliche Schritte erforderlich: $ sudo Dienst Docker Stopp $ sudo rm -rf /var/lib/docker $ sudo Dienst Docker starten Das Problem, auf das ich hier gestoßen bin, war, dass ein bestimmtes Modul innerhalb von 10 Minuten 1 GB an Protokollen ausgab. Dieses Problem konnte durch Ändern der Protokollrichtlinie gelöst werden. Zu viele Dockerd-Protokolle Es gibt einen Docker-Dienst von GitLab. Nach einigen Monaten Betrieb ist Push- und Pull-Operationen nicht mehr möglich. Der Grund dafür ist, dass der Speicherplatz /var/lib/docker voll ist. Der Grund für den vollen Speicherplatz liegt darin, dass das Dockerd-Protokoll mehr als zehn GB Speicherplatz beansprucht. Der Pfad der Protokolldatei lautet wie folgt: Referenz: https://stackoverflow.com/questions/31829587/docker-container-logs-taking-all-my-disk-space Sie können auf die folgenden Lösungen zurückgreifen: 1. Containerparameter starten Referenz: https://docs.docker.com/engine/reference/commandline/run/ Verwenden Sie die Treiberoptionen --log-opt Log, um die Protokollierungsrichtlinie zu konfigurieren. Beispiel: --log-opt max-size=50m. 2. Globale Standardkonfiguration Der in daemon.json konfigurierte Standardspeicherort in Linux ist /etc/docker. Konfigurationsbeispiel: { "log-driver": "JSON-Datei", "log-opts": { "max-size": "10m", "max-Datei": "3", "Labels": "Produktionsstatus", "env": "Betriebssystem, Kunde" } } Referenz zur Protokollkonfiguration: https://docs.docker.com/config/containers/logging/configure/ Ein vollständiges daemon.json-Beispiel finden Sie unter: https://docs.docker.com/engine/reference/commandline/dockerd/ { "Autorisierungs-Plugins": [], "Datenstamm": "", "dns": [], "dns-opts": [], "DNS-Suche": [], "exec-opts": [], "exec-root": "", "experimentell": falsch, "Merkmale": {}, "Speichertreiber": "", "Speicheroptionen": [], "Beschriftungen": [], "Live-Wiederherstellung": wahr, "log-driver": "JSON-Datei", "log-opts": { "max-size": "10m", "max-Datei": "5", "Labels": "irgendeinLabel", "env": "Betriebssystem, Kunde" }, "mtu": 0, "PID-Datei": "", "Cluster-Speicher": "", "Cluster-Store-Optionen": {}, "cluster-advertise": "", "maximale Anzahl gleichzeitiger Downloads": 3, "maximale Anzahl gleichzeitiger Uploads": 5, "Standard-Shm-Größe": "64M", "Shutdown-Timeout": 15, "debug": wahr, "Gastgeber": [], "Protokollebene": "", "tls": wahr, "tlsverify": wahr, "tlscacert": "", "tlscert": "", "tlskey": "", "swarm-default-advertise-addr": "", "api-cors-header": "", "selinux-enabled": falsch, "userns-remap": "", "Gruppe": "", "cgroup-übergeordnet": "", "Standard-ulimits": { "keine Datei": { "Name": "keine Datei", "Schwer": 64000, "Weich": 64000 } }, "init": falsch, "Init-Pfad": "/usr/libexec/docker-init", "ipv6": falsch, "iptables": falsch, "ip-forward": falsch, "ip-masq": falsch, "userland-proxy": falsch, "userland-proxy-path": "/usr/libexec/docker-proxy", "ip": "0.0.0.0", "Brücke": "", "piep": "", "fixed-cidr": "", "fixed-cidr-v6": "", "Standard-Gateway": "", "default-gateway-v6": "", "icc": falsch, "raw-logs": falsch, "Nicht verteilbare Artefakte zulassen": [], "Registrierungsspiegel": [], "seccomp-Profil": "", "unsichere Registrierungen": [], "keine neuen Berechtigungen": falsch, "Standardlaufzeit": "runc", "oom-score-adjust": -500, "node-generic-resources": ["NVIDIA-GPU=UUID1", "NVIDIA-GPU=UUID2"], "Laufzeiten": { "cc-Laufzeit": { "Pfad": "/usr/bin/cc-runtime" }, "Brauch": { "Pfad": "/usr/local/bin/my-runc-replacement", "LaufzeitArgs": [ "--debuggen" ] } }, "Standardadresspools": [{"Basis": "172.80.0.0/16", "Größe": 24}, {"base":"172.90.0.0/16","size":24}] } Nachdem Sie die Parameter konfiguriert haben, müssen Sie den Docker-Dienst neu starten. Docker-Compose-Konfiguration Referenz: https://docs.docker.com/compose/compose-file/compose-file-v2/ Konfigurationsbeispiel: Protokollierung: Optionen: maximale Größe: „12 m“ Max-Datei: "5" Treiber:JSON-Datei Auffüllen Ich habe das in Eile geschrieben. Die Links, die ich gepostet habe, enthalten sehr umfassende Informationen, die diese Art von Problem lösen sollten. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Detailliertes Tutorial zur Installation der komprimierten Version von MySQL 8.0.11 unter Win10
>>: Implementierung der One-Click-Verpackung und -Veröffentlichung von Vue-Projekten mit Jenkins
Inhaltsverzeichnis 1. Einleitung 1. Was ist ein I...
Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...
Die Installation des RPM-Pakets ist relativ einfa...
Inhaltsverzeichnis Vorwort Umsetzungsideen Implem...
Symptome: Nach dem Hinzufügen des Parameters -v z...
Bedürfnisse entdecken Wenn nur ein Teil eines Ber...
Umwelterklärung Host-Betriebssystem: Cetnos7.9 Mi...
In diesem Artikelbeispiel wird der spezifische JS...
Es gibt einige Tags in XHTML, die ähnliche Funkti...
Linux-Dateiberechtigungen Überprüfen wir zunächst...
Was bedeutet Linux-CD? Unter Linux bedeutet cd „V...
Effektvorschau Ideen Scrollen Sie durch die aktue...
SMIL fügt Unterstützung für Timing und Mediensync...
Nachdem MySQL 5.7.18 erfolgreich installiert wurd...
Dieser Artikel beschreibt die Definition und Verw...