在产品中播放框架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上的引号