scala - 如何为 sbt 原生打包器的 DockerPlugin 设置基础镜像?

标签 scala docker sbt sbt-native-packager

我想对 scala 应用程序进行 dockerify。

我使用sbt-native-packager,并通过本地构建图像时

sbt docker:publishLocal

我很惊讶地发现它会使用:

openjdk:latest

作为其基础图像。

我喜欢将我的 docker 镜像指向某个版本,并且我知道我的应用程序当前需要 Java 8 并且会在 Java 9 上崩溃; latest 标签可能指向 future 的新主要版本。

我对 Docker 插件如何通过 sbt-native-packager 工作有点困惑。为什么它使用 openjdk:latest 作为基础?如何将其设置为不同的内容,例如:openjdk/8-jdk

最佳答案

您可以通过以下方式在 build.sbt 中设置 baseImage 及其标签:

dockerBaseImage := "openjdk:8-jdk"

您可以在 docker documentation of the sbt native packager 中阅读相关内容.

关于scala - 如何为 sbt 原生打包器的 DockerPlugin 设置基础镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47637110/

相关文章:

scala - 我对带有可变类的 "referential transparency"的理解是否正确?

Docker RUN 失败并显示 "returned a non-zero code: 6"

scala - SBT 不会解决对除 Typesafe 之外的任何存储库的传递依赖

playframework-2.0 - 如何正确设置sbt依赖?

scala - 如何覆盖 SettingKey 以计算 sbt 中的另一个 SettingKey?

scala - 如何修复 Scala 中的这种类型不匹配错误?

scala - 在 Scala 中将外部命令作为子进程调用

scala - 何时使用 Scala Future?

node.js - Gatsby 在 mozjpeg 上构建失败

docker - docker镜像可以用作可启动镜像吗