Docker化您的Scala应用程序

Docker化Scala应用程序非常简单。 首先要考虑的是制造一个胖子罐。 现在我们所有人来自不同的背景,包括maven / gradle和处理此问题的不同插件。 如果您使用sbt,则方法是使用sbt-assembly插件。

要使用它,我们应该将其添加到我们的project / plugins.sbt文件中。 如果文件不存在,请创建它。

logLevel := Level.Warn

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6")

所以通过执行

sbt clean assembly

我们最终将在目标/scala-**/**.jar路径中找到一个胖子罐。

现在,最简单的部分是将我们的应用程序放入docker中,因此需要一个Dockerfile。

我们将使用openjdk alpine作为基本映像。

FROM openjdk:8-jre-alpine

ADD target/scala-**/your-fat-jar app.jar

ENTRYPOINT ["java","-jar","/app.jar"]

上面的方法可以正常工作,并提供了自定义构建过程所需的控制。 要获得更多引导经验,可以使用sbt本机打包程序

您需要做的就是将插件添加到project / plugins.sbt文件。

logLevel := Level.Warn

addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.4")

然后,指定应用程序的主类,并在build.sbt文件中启用本机打包程序的Java和Docker插件。

mainClass in Compile := Some("your.package.MainClass")

enablePlugins(JavaAppPackaging)
enablePlugins(DockerPlugin)

下一步是发出sbt命令。

sbt docker:publishLocal

此命令将构建您的应用程序,包括jar所需的二进制文件,将您的应用程序容器化并将其发布到本地Maven存储库。

翻译自: https://www.javacodegeeks.com/2018/05/dockerize-your-scala-application.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值