[Docker] 在 container 裡設定 core dump 的檔案名稱格式

[Docker] 在 container 裡設定 core dump 的檔案名稱格式

今天想在 docker 的 container 裡面,設定一下 core dump 產生的檔名格式,

於是用下面的指令去修改 /proc/sys/kernel/core_pattern,結果卻失敗了:

root@8d6590c51b47:/# echo "core.%e.%t" > /proc/sys/kernel/core_pattern
bash: /proc/sys/kernel/core_pattern: Read-only file system

 

Docker 說這是一個唯讀的檔案系統,可是正常的 Linux 上是可以這樣設定的…

查了一下,原來 docker 預設不允許 container 去存取設備檔案,

要在 docker run 時加上 –privileged 參數才行:

docker run -it --ulimit core=-1 --privileged testuser/debug_hacks /bin/bash

 

當 –privileged 參數加上後,進入 container shell 裡,

下面的指令就會成功了:

echo "core.%e.%t" > /proc/sys/kernel/core_pattern

 

參考資料:

kernel.core_pattern Read-only file system

Runtime privilege, Linux capabilities, and LXC configuration

(本頁面已被瀏覽過 1,450 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料