2016-08-02 58 views
0

我已經使用uwsgi和nginx在碼頭集裝箱內部署了一個休息服務。 當我在Docker容器中運行這個python瓶子休息服務時,對於第一個一小時服務工作正常,但是在某種程度上在某種程度上nginx和休息服務由於某種原因停止。碼頭集裝箱內的服務在一段時間後停止

有沒有人遇到過類似的問題? 是否有任何解決此問題的解決方案?

+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屬性。 打開容器的日誌文件,看看是否可以確定容器內爲什麼進程死亡的根本原因。 (您可能需要root權限才能做到這一點)

注意:一個進程可能因任何事情而死,例如,代碼錯誤

如果在日誌文件中沒有提供任何可疑內容,那麼您可能需要檢查State屬性。同時檢查ExitCode屬性以查看是否可以反向查看應用程序的哪一行可以使用該代碼退出。

還檢查OOMKilled標誌,如果這是真的,那麼這意味着您的容器可能會因out of memory錯誤而被殺死。

那麼如果你仍然不明白爲什麼,那麼你可能需要在你的應用程序中添加更多的日誌記錄,讓你更加了解它爲什麼會死亡。

+0

我的容器仍然運行正常,但在容器內運行的服務已停止。 – user3059993

+0

所以我假設你的程序仍然運行,它仍然只是停止服務請求?然後我懷疑它比docker更像是一個特定於應用程序的問題。建議在應用程序中添加一些調試語句,以查看是否可以從中獲取任何提示。 –

相關問題