コアファイルは、コアモードに応じてドッカーコンテナをエスケープすることも、そうでない場合もあります。

コアファイルは、コアモードに応じてドッカーコンテナをエスケープすることも、そうでない場合もあります。

私はドッカー初心者ですが、最近問題が発生しました。私はランダムに引用します。 数年前パイパーメールこれは以前の質問よりはるかにエレガントです。

Dockerコンテナの実行中に、Linuxシステムで次のcore_patternの動作が見つかりました。これがバグかどうかはわかりませんが、一貫性がなく文書化されていません。

core_patternがホストに設定されている場合、コンテナはそのパターンを監視して使用してコアをダンプします(core_patternを含まないcgroupごと)。 core(5) に従って core_pattern を設定すれば、次のことが可能です。

  1. echo "/tmp/cores/core.%e.%p" > /proc/sys/kernel/core_pattern
  2. echo "|/bin/custom_core /tmp/cores/ %e %p " > /proc/sys/kernel/core_pattern

電子モードは、コンテナのファイルシステム名前空間の/tmp/coresパスを評価します。これは、ホストが/tmp/coresのコアファイルを表示できないことを意味します。

ただし、後者はグローバルファイルシステム名前空間の/bin/custom_coreパスを評価します。また、/bin/core がパス (この場合は custom_core の引数で示される /tmp/cores) にコアを書き込むことを決定した場合、そのパスはグローバルファイルシステムの名前空間でも評価されます。

後者の動作は、コンテナが直接アクセスできないコアファイルディレクトリを埋める可能性があるため、直感的でエラーが発生しやすいです。つまり、誰かがコンテナにのみアクセスできる場合、デバッグのためにコアにアクセスすることはできません。

結論を出す前にスレッドが終了します。

行動になぜこのような違いがあるのでしょうか?これで問題は解決しましたか?それとも指示がありますか?

関連情報