In meinem PHP-Container wird Puppenspieler ausgeführt, um PDF zu generieren. Durch das Generieren eines PDF-Dokuments werden außerdem zwei Core-Dump-Dateien in meinem Container erstellt. Ich bin mir nicht sicher, woher sie tatsächlich kommen.
Der Host / Server ist CentOS 7.
Ich habe Folgendes überprüft:
- Kein Anwendungsfehlerprotokoll, Browsershot / Puppenspieler läuft ohne Fehler.
- Es wurde kein Fehlerprotokoll (z. B. Segfault) gefunden
/var/log/messages
Ich habe versucht, Core Dumps zu deaktivieren
Durch Befolgen des Abschnitts "Kernspeicherauszüge deaktivieren" von https://linux-audit.com/understand-and-configure-core-dumps-work-on-linux/ habe ich Folgendes getan:
- Hinzufügen von folgendem Inhalt zu
/etc/security/limits.conf
* soft core 0
* hard core 0
Erstellt eine disable-core-dumps.sh von:
echo “ulimit -c 0 > /dev/null 2>&1” > /etc/profile.d/disable-coredumps.sh
Folgende Inhalte wurden hinzugefügt
/etc/systemd/coredump.conf
[Coredump]
Storage=none
ProcessSizeMax=0
Und starten Sie den Server und den Behälter .
Ich habe auch versucht,
ulimit -c 0
in den Container (alpine) zu setzen
Keiner der oben genannten Tricks funktioniert bei mir. Jedes Mal, wenn der Puppenspieler ein PDF generiert, werden zwei Core-Dump-Dateien wie folgt erstellt:
core.131 core.52
Die Kerndateien sehen wie folgt aus:
Kann mir jemand helfen, die Core Dumps zu deaktivieren? Vielen Dank.
Antworten:
Sie müssen Ihren Container mit der Option starten
--ulimit core=0
, Coredumps zu deaktivieren.Referenz: https://docs.docker.com/engine/reference/commandline/run/#set-ulimits-in-container---ulimit
Beispiel
Setzen Sie auf dem Host vorübergehend den Coredump-Pfad zur
/tmp
Überprüfung auf:Starten Sie einen Container wie gewohnt und erzwingen Sie einen Core Dump:
Nun mit
--ulimit core=0
:quelle
entrypoint.sh
im selben Befehl hinzugefügt werden, mit dem die PHP-AnwendungIch habe dieses Problem auch auf dem Docker-Schwarmdienst und --ulimit core = 0 funktioniert nicht im Schwarmdienst. Ich habe den folgenden Befehl verwendet und für mich im Docker-Schwarmdienst gearbeitet!
sysctl -w kernel.core_pattern = / dev / null
quelle