Tag: playframework sbt

Docker容器在运行sbt / play应用程序时停止,没有任何错误

我遇到了一个问题,我的docker集装箱将在运行一天之后以退出码137退出。 容器的日志中不包含指示已发生错误代码的信息。 此外,尝试重新启动容器将返回PID已经存在的应用程序的错误。 容器是使用sbt docker插件构build的, sbt docker:publishLocal ,然后使用docker run –name=the_app –net=the_app_nw -d the_app:1.0-SNAPSHOT 。 我还运行了3个其他的docker集装箱,它们一起使用了90%的可用内存,但是它唯一的一个特定的集装箱出口。 寻找任何build议,看看下一步。

玩sbt不是从斯卡拉docker形象开始

我想在docker image上运行我的play / scala应用程序bitbucketpipelines / scala-sbt:scala-2.12。 应用程序启动,但它没有任何错误消息后立即退出(如果正常终止)。 root@db0eca2925cf:~# sbt -v -XX:MaxMetaspaceSize=256m run < /dev/null [process_args] java_version = '1.8' # Executing command line: java -Xms1024m -Xmx1024m -XX:ReservedCodeCacheSize=128m -XX:MaxMetaspaceSize=256m -jar /usr/share/sbt/bin/sbt-launch.jar -XX:MaxMetaspaceSize=256m run [info] Loading project definition from /root/project [info] Set current project to MyApp (in build file:/root/) [warn] The `-` command is deprecated in favor of […]

sbt-native-packager与Docker和Elastic Beanstalk合作

我正在使用sbt-native-packager将我的Pl​​ayframework应用程序部署为Elastic Beanstalk作为Docker容器。 这一切都工作得很好,但我需要定制ELB实例。 亚马逊文件在这里 ,你通过创build一个.config文件“在你的源包的.ebextensions顶级目录中。 看起来很简单,但我不知道什么是最好的方式来让本地包打包机拿起我的.ebextensions目录,并把它放在正确的地方。 我知道是否使用命令docker build -t my-docker-app /my-project-root创build了捆绑包我将该目录粘贴在my-project-root ,但是我很困惑与原生打包。 提前致谢!

Play框架 – 通过Docker容器传递应用程序参数

在dockerizing我的play web应用程序之前,我可以在运行时执行以下操作: Joes-Macbook:project-1 joe$ sbt -Dconfig.env=dev run 在哪里我可以使用dev,qa,prod到config.env参数的下列之一,我的应用程序将相应地运行相应的application.dev.conf或application.qa.conf。 现在我有我的应用程序作为docker的容器,这意味着我需要一种方式来注入我的configuration文件。 我怎么能这样做? 我想要的一个方法是有一个shell脚本,并将其用作入口点。 但不知道这可能是如何工作的? 有什么build议么? 所以当我这样做 sbt docker:publishLocal 我得到了下面的Dockerfile生成 FROM anapsix/alpine-java:8_server-jre_unlimited MAINTAINER Joesan <myemail@email.com> WORKDIR /opt/docker ADD opt /opt RUN ["chown", "-R", "daemon:daemon", "."] USER daemon ENTRYPOINT ["sh", "-c", "bin/project-1", "-Denv=$configEnv"] CMD [] ENV configEnv default 我无法得到在我的Scala应用程序解决$ configEnv。 这是我如何运行生产的docker图像: docker run -e "configEnv=crap" –rm –name play-8080 -p […]

不要为每个SBT子项目发布泊坞窗镜像

我有一个多项目的SBT / Play2应用程序,我需要为主项目发布一个Docker镜像(这个镜像聚合了其他的镜像)。 问题是sbt-native-packager在我的本地存储库中发布了所有PLAY项目的图像。 根图像工作正常,但我有2个其他图像不应该发布。 我在plugins.sbt中添加的内容 addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.0-RC1") 这是我的build.sbt import Dependencies.Library._ import PlayKeys._ import com.typesafe.sbt.packager.docker._ lazy val root = (project in file(".")) .enablePlugins(PlayScala) .enablePlugins(DockerPlugin) .settings( packageName in Docker := "docking-station", version in Docker := "latest", NativePackagerKeys.dockerBaseImage := "dockerfile/java:oracle-java8", NativePackagerKeys.dockerExposedPorts := Seq(9000, 9443), NativePackagerKeys.dockerExposedVolumes := Seq("/opt/docker/logs"), ) .dependsOn(module1).aggregate(module1) .dependsOn(module2).aggregate(module2) .dependsOn(core).aggregate(core) lazy val module1 […]