在产品中播放框架2.5:“坏的根服务器path”

我想在Docker容器中使用生产中的prod.conf文件。 我把这个添加到我的Dockerfile中:

ENTRYPOINT ["bin/myapp", "-D", "config.resource=prod.conf"] 

但是我得到这个错误:

 Bad root server path: /opt/docker/-D 

当我尝试以root身份手动运行命令时,出现相同的错误

 /opt/docker/bin/myapp -D config.resource=prod.conf 

如果我跑

 /opt/docker/bin/myapp 

它的工作原理是使用默认的application.conf文件。

我想没有权限问题。

这是我的完整的Dockerfile:

 FROM openjdk:8u121-alpine WORKDIR /opt/docker ADD opt /opt RUN ["chown", "-R", "daemon:daemon", "."] EXPOSE 9000 USER daemon ENTRYPOINT ["bin/myapp", "-D", "config.resource=prod.conf"] CMD [] 

编辑:

我在本地得到了同样的错误:

 activator clean stage target/universal/stage/bin/myapp -D config.resource=prod.conf Bad root server path: /home/me/Documents/MyApp-D 

-D和configuration值之间应该没有空格。 用这个代替:

 ENTRYPOINT ["bin/myapp", "-Dconfig.resource=prod.conf"] 

如果你使用sbt插件“DockerPlugin”,你可以input

dockerEntrypoint := Seq("")

在你的build.sbt文件中。 这将导致

 ENTRYPOINT [""] 

在你的Dockerfile中。 那么,你运行docker与你的图像,你应该在运行命令中指定以下内容

 bin/myapp "-Dconfig.resource=prod.conf" 

docker运行YOUR_DOCKER_IMAGE bin / myapp“-Dconfig.resource = prod.conf”

注意-D上的引号