在 Docker 里面無論如何也無法產生 Core Dump 文件,這是因為系統在產生 Core Dump 文件的時候是根據 /proc/sys/kernel/core_pattern 的設定。而默認的設定是 |/usr/share/apport/apport %p %s %c %P,也就是用管道傳給 apport。然而 Docker 里面的系統不一定有裝 apport,並且 /proc 又是直接掛到 Docker 里面的,所以我們就得改成放到固定的位置去,也就是 /tmp。
在宿主機上執行:
echo '/tmp/core.%t.%e.%p' | sudo tee /proc/sys/kernel/core_pattern