第一个泊坞窗过程完成后出现意外的JVM退出

时间:2018-02-16 22:20:10

标签: docker playframework sbt production-environment

我有一个应用程序在docker容器中运行两个服务。我遇到了JVM在完成第一个进程(即从一个播放项目构建一个jar)后意外退出的情况,并带有以下消息:

[info] Your package is ready in /app/.../project-0.1.0.zip
[success]
[Thread-2] [CoordinatedShutdown(akka://sbt-web)] Starting coordinated shutdown from JVM shutdown hook
Archive:  /app/.../target/universal/project-0.1.0.zip

第二个进程(提取jar并运行应用程序)以Archive: /app/.../target/universal/project-0.1.0.zip开头,但无法提取jar。 docker容器不会退出。

令人惊讶的是,重建和运行容器后,在多次运行中都看不到此问题。另外,我最近将我的sbt版本从0.13.11升级到1.1.1。从那时起,我开始面对CoordinatedShutdown这个问题。因此,我非常确定这不是码头问题。

我还尝试添加akka.coordinated-shutdown.exit-jvm = offakka.coordinated-shutdown.run-by-jvm-shutdown-hook = off到我的 application.conf CoordinatedShutdown仍然出现。任何解决方案?

1 个答案:

答案 0 :(得分:1)

我发现问题是播放应用程序无法在其容器中启动,因为尚未删除RUNNING_PID文件。最后,设法通过阻止Play使用-Dpidfile.path=/dev/null创建PID来解决此问题。

相关问题:Restarting Play application Docker container results in 'This application is already running' - RUNNING_PID is not deleted

参考文献:https://www.playframework.com/documentation/2.6.x/Deploying#play-pid-configuration