Docker数据量为SBT依赖关系

我正在使用Docker进行Scala项目的持续集成。 在容器内部,我正在构build项目并创build一个“sbt dist”分布。

这需要很长的时间来拉下所有的依赖关系,我想使用这里提到的docker数据量: http : //docs.docker.io/en/latest/use/working_with_volumes/

但是,我不明白我怎样才能让SBT把jar文件放到卷中,或者SBT怎么知道如何从这个卷中读取它们。

SBT使用ivy来解决项目依赖关系。 常春藤caching本地下载的工件,每次被要求拉东西,它首先去那个caching,如果没有发现从远程下载。 默认情况下,caching位于~/.ivy2 ,但实际上它是一个可configuration的属性。 所以,只要安装音量,指向常春藤(或将它挂在默认位置),并享受caching。

不知道在集成服务器上这是否.ivy2/ ,但在localhost上开发时,我将主机的.ivy2/.sbt/目录映射到容器中的卷,如下所示:

 docker run ... -v ~/.ivy2:/root/.ivy2 -v ~/.sbt:/root/.sbt ... 

(显然,在容器中, .ivy2/.sbt/被放置在/root/ ,因为我们以root用户身份login容器。)