21
私は、JVMプロセスを含むDockerコンテナを持っています。プロセスが終了すると、コンテナが完了して停止します。Dockerコンテナが停止した理由をどのように知ることができますか?
ありがたいことに、私のJVMは突然ハード障害、例えば、 OutOfMemoryError。これが起こると、通常のJVM終了のようにコンテナが停止します。
私は通常のJVMロギングのためにログなどを配信することができますが、このハードフェイルのケースでは、通常はstderrで発声されるJVMの死にかけての単語を知りたいと思います。
コンテナが停止した理由を知る方法はありますか?これらの行に沿ってログ、標準エラー、または何かを見回してください。
停止したコンテナの 'docker logs'には何が表示されますか?あなたはイベントを購読しようとしましたか? 'docker'デーモンはAPIを公開しています:https://docs.docker.com/reference/api/docker_remote_api_v1.16/ – Andy
コンテナがなくなった、つまり私がドッカーpsをしたときにそこにないので、どうやって取得するのか分かりませんそれにログオンする。私はイベントAPIをチェックします。私は監視しているので、私はjvmが死んだことを知っている...私はstderrに出力された最後のメッセージを知りません。ログされません(OOMの場合、ロガーは動作しないかもしれません) – Greg
dockerログ[ ContainerName]コマンドまたは[ContainerID]コマンドを使用します。あなたはdocker ps -aでそれらを見ることができます –