【发布时间】:2014-12-04 13:14:19
【问题描述】:
我正在尝试让 Play Framework 应用程序在 Ubuntu Server 14.04 机器上的 docker 容器内运行。
$ docker pull mzkrelx/playframework2-dev:2.2.3
$ docker run -i -t -v /path/to/play/app:/opt/workspace -p 9000:9000 mzkrelx/playframework2-dev:2.2.3
bash-4.1# play
[play-application] $ run
最后一个命令会导致尝试解决依赖关系,但只会输出错误、警告和信息,例如You probably access the destination server through a proxy server that is not well configured.
我做错了什么?
【问题讨论】:
-
如果这是用于生产,而不是使用
play run,请使用play dist并打包一个二进制可分发文件,然后将 that 放入 docker 容器中。您还可以使用sbt-docker插件,该插件将使用可分发的内容为您构建和推送您的容器。 -
感谢您提供这些方法!按照这个容器镜像的使用建议,它也应该按照我上面描述的方式工作。
-
如果你用 bash 启动一个容器,然后从里面手动运行命令,它可以工作吗?
-
我在简单的 bash 容器中没有可用的 Play 框架。还是我误会了你?
-
一开始 play 尝试通过访问类型安全的存储库来解决一些 sbt 依赖项。我猜你是在企业环境中运行它,你必须使用 http 代理来访问网络。所以你必须通过将通常的“http.proxyHost”和“http.proxyPort”属性传递给java(播放)进程来配置这个http代理。
标签: sbt docker playframework-2.2