2016-08-19 88 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中传递该选项。

相关问题