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

k0p*_*kus 2 scala sbt docker sbt-native-packager

我想 dockerify 一个 scala 应用程序。

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

sbt docker:publishLocal
Run Code Online (Sandbox Code Playgroud)

我惊讶地发现它会使用:

openjdk:latest
Run Code Online (Sandbox Code Playgroud)

作为其基础图像。

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

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

k0p*_*kus 5

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

dockerBaseImage := "openjdk:8-jdk"
Run Code Online (Sandbox Code Playgroud)

您可以在sbt 本机打包程序的 docker 文档中阅读相关内容。