【问题标题】:Docker Data Volume for SBT DependenciesSBT 依赖项的 Docker 数据量
【发布时间】:2014-03-30 22:53:30
【问题描述】:

我正在使用 docker 来持续集成 Scala 项目。在容器内,我正在构建项目并使用“sbt dist”创建分发。

这需要很长时间才能删除所有依赖项,我想使用此处提到的 docker 数据卷:http://docs.docker.io/en/latest/use/working_with_volumes/

但是,我不明白如何让 SBT 将 jar 文件放入卷中,或者 SBT 如何知道如何从该卷中读取它们。

【问题讨论】:

    标签: scala sbt docker thoughtworks-go


    【解决方案1】:

    SBT 使用 ivy 来解决项目依赖关系。常春藤在本地缓存下载的工件,每次被要求拉取东西时,它首先进入该缓存,如果没有找到远程下载。默认缓存位于~/.ivy2,但它实际上是一个configurable 属性。所以只需挂载卷,将 ivy 指向它(或以默认位置的方式挂载它)并享受缓存。

    【讨论】:

      【解决方案2】:

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

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

      (显然,在容器内部,.ivy2/.sbt/ 被放置在 /root/ 中,因为我们是以 root 用户身份登录容器的。)

      【讨论】:

        猜你喜欢
        • 2018-03-20
        • 2019-04-02
        • 1970-01-01
        • 2016-06-19
        • 2016-05-16
        • 1970-01-01
        • 2016-07-18
        • 2011-08-27
        • 2016-05-28
        相关资源
        最近更新 更多