2016-08-02 19 views
0

私はuwsgiとnginxを使用してドッカーコンテナ内にレストサービスを配置しました。 私はこのpythonフラスコの休憩サービスをドッカーのコンテナの中で走らせると、最初の1時間のサービスはうまくいきますが、なんとかnginxとrestサービスが何らかの理由で停止してしまいます。ドッカーコンテナ内のサービスは、しばらくして停止します

誰も似たような問題に直面しましたか? この問題の修正はありますか?

+0

[ptrace/strace&friends](http://jvns.ca/blog/2014/04/20/debug-your-programs-like-theyre-closed-source/)のようなツールを調べることがあります –

答えて

1

停止したコンテナの識別子を取得するには、docker ps -aを実行することを検討してください。 -aここにあなたのマシンに入れたすべてののリストを意味します。

docker inspectを実行し、LogPath属性を探します。 コンテナのログファイルを開き、プロセスがコンテナ内でなぜ停止したのかの根本原因を特定できるかどうかを確認します。 (これを行うにはルート権限が必要な場合があります)

注:プロセスは何かのために死ぬ可能性があります。コードのエラー

ログファイルに疑わしいものが何も表示されない場合は、State属性をチェックしてください。また、ExitCode属性をチェックして、アプリケーションのどの行がそのコードを使用して終了しているかを確認することができます。

また、OOMKilledフラグを確認します。これが真の場合は、out of memoryエラーのためにコンテナが強制終了される可能性があります。

なぜそれでも理由がわからない場合は、アプリケーションにログインを追加して、なぜそれが死んだのかをより深く理解する必要があるかもしれません。

+0

コンテナはまだ正常に動作していますが、コンテナ内で実行されていたサービスは停止しています。 – user3059993

+0

あなたのプロセスはまだ稼動していると仮定しています。それで、私はそれがドッカーよりもアプリケーション特有の問題だと思う。いくつかのデバッグステートメントをアプリケーションに追加して、ヒントを得ることができるかどうかを確認することをお勧めします。 –

関連する問題