Wadah PHP saya menjalankan dalang untuk menghasilkan PDF. Dengan membuat dokumen PDF, itu juga membuat dua file dump inti di dalam wadah saya. Saya tidak yakin dari mana mereka sebenarnya berasal.
Host / server adalah CentOS 7.
Saya telah memeriksa yang berikut ini:
- Tidak ada log kesalahan aplikasi, Browsershot / puppeteer berjalan tanpa kesalahan.
- Tidak ada log kesalahan (mis. Segfault) ditemukan di
/var/log/messages
Saya sudah mencoba untuk menonaktifkan dump inti
Dengan mengikuti bagian Disable core dumps di https://linux-audit.com/understand-and-configure-core-dumps-work-on-linux/ , saya telah melakukan:
- Menambahkan konten berikut ke
/etc/security/limits.conf
* soft core 0
* hard core 0
Dibuat disable-core-dumps.sh oleh:
echo “ulimit -c 0 > /dev/null 2>&1” > /etc/profile.d/disable-coredumps.sh
Menambahkan konten berikut ke
/etc/systemd/coredump.conf
[Coredump]
Storage=none
ProcessSizeMax=0
Dan reboot server dan wadahnya .
Saya juga mencoba mengatur
ulimit -c 0
di dalam wadah (alpine)
Tak satu pun dari trik di atas bekerja untuk saya. Setiap kali dalang menghasilkan PDF, ia selalu membuat dua file dump inti seperti di bawah ini:
core.131 core.52
File inti terlihat seperti:
Adakah yang bisa membantu saya untuk menonaktifkan dump inti? Terima kasih banyak.
Jawaban:
Anda harus memulai wadah Anda dengan opsi
--ulimit core=0
untuk menonaktifkan coredumps.Referensi: https://docs.docker.com/engine/reference/commandline/run/#set-ulimits-in-container---ulimit
Contoh
Di host, setel sementara jalur coredump
/tmp
untuk verifikasi:Mulai wadah seperti biasa dan paksa pembuangan inti:
Sekarang dengan
--ulimit core=0
:sumber
entrypoint.sh
, pada perintah yang sama yang memulai aplikasi phpsaya punya masalah ini juga pada layanan gerombolan buruh pelabuhan dan --ulimit inti = 0 tidak bekerja di layanan gerombolan saya menggunakan perintah di bawah ini dan bekerja untuk saya di layanan gerombolan buruh pelabuhan!
sysctl -w kernel.core_pattern = / dev / null
sumber