私はuwsgiとnginxを使用してドッカーコンテナ内にレストサービスを配置しました。 私はこのpythonフラスコの休憩サービスをドッカーのコンテナの中で走らせると、最初の1時間のサービスはうまくいきますが、なんとかnginxとrestサービスが何らかの理由で停止してしまいます。ドッカーコンテナ内のサービスは、しばらくして停止します
誰も似たような問題に直面しましたか? この問題の修正はありますか?
私はuwsgiとnginxを使用してドッカーコンテナ内にレストサービスを配置しました。 私はこのpythonフラスコの休憩サービスをドッカーのコンテナの中で走らせると、最初の1時間のサービスはうまくいきますが、なんとかnginxとrestサービスが何らかの理由で停止してしまいます。ドッカーコンテナ内のサービスは、しばらくして停止します
誰も似たような問題に直面しましたか? この問題の修正はありますか?
停止したコンテナの識別子を取得するには、docker ps -a
を実行することを検討してください。 -a
ここにあなたのマシンに入れたすべてののリストを意味します。
docker inspect
を実行し、LogPath
属性を探します。 コンテナのログファイルを開き、プロセスがコンテナ内でなぜ停止したのかの根本原因を特定できるかどうかを確認します。 (これを行うにはルート権限が必要な場合があります)
注:プロセスは何かのために死ぬ可能性があります。コードのエラー
ログファイルに疑わしいものが何も表示されない場合は、State
属性をチェックしてください。また、ExitCode
属性をチェックして、アプリケーションのどの行がそのコードを使用して終了しているかを確認することができます。
また、OOMKilled
フラグを確認します。これが真の場合は、out of memory
エラーのためにコンテナが強制終了される可能性があります。
なぜそれでも理由がわからない場合は、アプリケーションにログインを追加して、なぜそれが死んだのかをより深く理解する必要があるかもしれません。
コンテナはまだ正常に動作していますが、コンテナ内で実行されていたサービスは停止しています。 – user3059993
あなたのプロセスはまだ稼動していると仮定しています。それで、私はそれがドッカーよりもアプリケーション特有の問題だと思う。いくつかのデバッグステートメントをアプリケーションに追加して、ヒントを得ることができるかどうかを確認することをお勧めします。 –
[ptrace/strace&friends](http://jvns.ca/blog/2014/04/20/debug-your-programs-like-theyre-closed-source/)のようなツールを調べることがあります –