【发布时间】:2020-03-19 01:22:22
【问题描述】:
我在 Scala 中创建了一个多模块 sbt 项目。现在是:
主项目 (
main-service) 和build.sbt文件带有
Main类的http模块
在我的sbt 文件中,我有:
lazy val root = (project in file("."))
.aggregate(http)
.settings(
dockerBaseImage := "openjdk:jre-alpine",
name := "main-service",
libraryDependencies ++= Seq(
)
)
.enablePlugins(JavaAppPackaging)
.enablePlugins(DockerPlugin)
.enablePlugins(AshScriptPlugin)
lazy val http = (project in file("http"))
.settings(
mainClass in Compile := Some("Main"),
name := "main-http",
libraryDependencies ++= Seq(
))
如您所见,我想用docker 运行它。这个项目的图像创建得很好,但是当我创建docker run 时出现错误:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"/opt/docker/bin/main-service\": stat /opt/docker/bin/main-service: no such file or directory": unknown.
我认为问题可能出在mainClass 行上。我在main-http/src/main/scala 目录中有我的Main 类,但看起来docker 没有看到它。
我应该如何移动这个Main 类或更改它的路径并正确运行它?
【问题讨论】:
标签: scala docker sbt sbt-native-packager