Dockerfile、sbt-assembly - 是否可以在 dockerfile 中使用 sbt-assembly?

Dockerfile, sbt-assembly - is it possible to use sbt-assembly in dockerfile?

我有一个 Dockerfile 脚本:

FROM hseeberger/scala-sbt:8u222_1.3.4_2.13.1
RUN sbt assembly

但是当我运行它的时候,我得到一个错误:

[error] Not a valid command: assembly
[error] Not a valid project ID: assembly
[error] Expected ':'
[error] Not a valid key: assembly
[error] assembly
[error]     

我的 assembly.sbt 文件中有 sbt-assembly 插件。 是否可以通过 docker 使用 sbt assembly 构建项目?在正常情况下它工作正常,当我使用 sbt assembly 时,问题出在 docker.

其他命令如 sbt package 也可以正常工作。

我通过将文件复制到存储库并设置 WORKDIR 解决了这个问题。现在我可以使用 sbt assembly:

FROM hseeberger/scala-sbt:graalvm-ce-19.3.0-java11_1.3.7_2.13.1 as build
COPY . /my-project
WORKDIR /my-project
RUN sbt assembly