java - Docker:Play 框架应用程序退出,代码为 0

标签 java scala docker playframework docker-compose

我正在对我的 scala play 框架应用程序进行 docker 化。 Docker 构建成功,但 docker run 退出并显示代码 0。

user-service | [info] Loading project definition from /app/project
user-service | [info] Set current project to user-service (in build file:/app/)
user-service | 
user-service | SLF4J: Class path contains multiple SLF4J bindings.
user-service | SLF4J: Found binding in [jar:file:/app/lib/logback-classic-1.2.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
user-service | SLF4J: Found binding in [jar:file:/root/.ivy2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
user-service | SLF4J: Found binding in [jar:file:/root/.ivy2/cache/org.slf4j/slf4j-nop/jars/slf4j-nop-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
user-service | SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
user-service | SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
user-service | --- (Running the application, auto-reloading is enabled) ---
user-service | 
user-service | [info] p.c.s.AkkaHttpServer - Listening for HTTP on /0.0.0.0:9004
user-service | 
user-service | (Server started, use Enter to stop and go back to the console...)
user-service | 
user-service | [info] p.c.s.AkkaHttpServer - Stopping server...
user-service | 
user-service | [success] Total time: 4 s, completed Apr 2, 2020 10:40:20 AM
user-service exited with code 0

我的 Dockerfile

FROM sshek2019/docker-scala

WORKDIR '/app'

COPY

EXPOSE 9004

CMD ["sbt", "run"]

我的 docker-compose 文件

version: "3.7"

services:
  api:
    build: .
    container_name: user-service
    expose:
      - "9004"
    ports:
      - "9004:9004"

最佳答案

您的配置表明,在输入/关闭标准输入时,您的应用程序应该关闭,这会在打开应用程序后立即终止它。您应该禁用 development mode对于 docker 图像。

例如,您可以使用 test instance mode :

CMD ["sbt", "runProd"]

但是,您应该在 Docker 中以交互模式运行 sbt,这样 std-in 就不会立即关闭。

docker run --it ...

关于java - Docker:Play 框架应用程序退出,代码为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60990909/

相关文章:

Facebook Android 库上的 java.lang.ArithmeticException

java - Soap 服务在本地工作,但在另一台服务器上引发 ClassCastException

Docker 容器构建失败 : "exec:\"flask\": executable file not found in $PATH": unknown

java - 渲染 Play framework 2.0.2 模板的一部分

scala - Akka http -错误 :Substream Source cannot be materialized more than once If Payload size increased

spring-boot - gitlab ci-工件应用程序jar中的差异

docker - 从主机以编程方式访问Docker卷

Java - 并发标记清除 GC 中的标记/未标记对象

java - 如何创建一个存储过程,由客户端应用程序在具有给定参数的表中搜索记录并返回找到的行数据?

java - Play Framework 2.3.7 上的全局 onStart 不工作?