2015-01-14 9 views
21

私は、JVMプロセスを含むDockerコンテナを持っています。プロセスが終了すると、コンテナが完了して停止します。Dockerコンテナが停止した理由をどのように知ることができますか?

ありがたいことに、私のJVMは突然ハード障害、例えば、 OutOfMemoryError。これが起こると、通常のJVM終了のようにコンテナが停止します。

私は通常のJVMロギングのためにログなどを配信することができますが、このハードフェイルのケースでは、通常はstderrで発声されるJVMの死にかけての単語を知りたいと思います。

コンテナが停止した理由を知る方法はありますか?これらの行に沿ってログ、標準エラー、または何かを見回してください。

+4

停止したコンテナの 'docker logs'には何が表示されますか?あなたはイベントを購読しようとしましたか? 'docker'デーモンはAPIを公開しています:https://docs.docker.com/reference/api/docker_remote_api_v1.16/ – Andy

+1

コンテナがなくなった、つまり私がドッカーpsをしたときにそこにないので、どうやって取得するのか分かりませんそれにログオンする。私はイベントAPIをチェックします。私は監視しているので、私はjvmが死んだことを知っている...私はstderrに出力された最後のメッセージを知りません。ログされません(OOMの場合、ロガーは動作しないかもしれません) – Greg

+13

dockerログ[ ContainerName]コマンドまたは[ContainerID]コマンドを使用します。あなたはdocker ps -aでそれらを見ることができます –

答えて

25

停止したコンテナでもdocker logs [ContainerName]またはdocker logs [ContainerID]コマンドを実行できます。 docker ps -aでそれらを見ることができます。

出典:the comment of Usman Ismail上記:これは、自分のコメントを適切な回答に変換する方法です。

関連する問題