2016-08-19 77 views
0

我遇到了一個問題,即在運行一天之後,我的泊塢窗容器將以退出代碼137退出。容器的日誌中不包含指示已發生錯誤代碼的信息。此外,嘗試重新啓動容器時會返回該應用程序已存在PID的錯誤。Docker容器在runnning sbt/play應用程序時停止,沒有任何錯誤

該容器是使用sbt docker插件sbt docker:publishLocal構建的,然後使用 docker run --name=the_app --net=the_app_nw -d the_app:1.0-SNAPSHOT運行。

我還運行了3個其他碼頭集裝箱,它們一起使用90%的可用內存,但它只有那個退出的特定容器。

尋找任何意見,看看下一步。

+0

請提供'docker inspect the_app'從失敗容器的輸出,並顯示重新啓動的命令和輸出,從而導致錯誤。容器停機時'docker ps -a'的輸出也可能有幫助。 – BMitch

回答

2

錯誤代碼137(128 + 9)表示它被某種東西殺死了(如kill -9 yourApp)。這可能是很多東西(也許它被殺死,因爲使用了太多的資源,碼頭或其他東西,也許它得到了內存等)

關於pid問題,你可以添加到你的build.sbt這個

javaOptions in Universal ++= Seq(
    "-Dpidfile.path=/dev/null" 
) 

基本上這應該指示播放不創建RUNNING_PID文件。如果它不起作用,您可以嘗試使用JAVA_OPTS env變量直接在Docker中傳遞該選項。

相關問題