SBT:在Docker容器中进行构建时,分辨率和失败都很慢

Ash*_*esh 7 scala sbt playframework docker

我玩的很简单!申请没有什么特别的build.sbt;

name := """project-name"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.6"

libraryDependencies ++= Seq(
  jdbc,
  javaJdbc,
  javaEbean,
  "mysql" % "mysql-connector-java" % "5.1.38",
  cache,
  ws,
  "com.googlecode.libphonenumber" % "libphonenumber" % "7.1.0"
)

// string metrics
libraryDependencies += "com.rockymadden.stringmetric" %% "stringmetric-core" % "0.27.4"

resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"
Run Code Online (Sandbox Code Playgroud)

而且里面Dockerfile我试图通过构建这个应用程序的可执行文件activator dist,sbt distactivator stage命令.

当我在计算机上运行时,所有上述工作都完美无瑕.但是,当我从docker容器中运行完全相同的命令时,我注意到了;

  • SBT需要很长时间来解决依赖关系,它在依赖项列表中的运行速度非常慢.
  • 构建失败,具有以下内容: sbt.ResolveException: download failed: org.scalaz#scalaz-core_2.10;7.0.2!scalaz-core_2.10.jar(bundle)

我怀疑这是否与SBT或Docker容器特有的错误有关.谁看过这个吗?

030*_*030 4

在容器中挂载.ivy2.sbt目录显着提高了编译速度:

-v ~/.sbt:/root/.sbt -v ~/.ivy2:/root/.ivy2
Run Code Online (Sandbox Code Playgroud)