【发布时间】:2019-06-11 06:03:11
【问题描述】:
我有 docker 文件:
FROM amazonlinux:2017.03
ENV SCALA_VERSION 2.11.8
ENV SBT_VERSION 0.13.13
# Install Java8
RUN yum install -y java-1.8.0-openjdk-devel
# Install Scala and SBT
RUN yum install -y https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.rpm
RUN yum install -y https://dl.bintray.com/sbt/rpm/sbt-0.13.13.rpm
RUN sbt sbtVersion
COPY . /root
WORKDIR /root
# Exposing port 80
EXPOSE 80
RUN sbt compile
CMD sbt run
和sbt配置文件有:
name := "hello"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "com.fasterxml.jackson.core" % "jackson-databind" % "2.9.5"
libraryDependencies += "com.fasterxml.jackson.module" % "jackson-module-scala_2.11" % "2.9.5"
每次我构建 docker container sbt 时都会重新下载 jackson 库。我怎样才能加快这个过程,可以在编译之前执行部分 sbt 文件。
在我将RUN sbt sbtVersion 添加到 Dockerfile 之前,sbt 已经完全下载,并且在我添加此命令之后,每次构建 docker 容器时都已缓存并且不会运行。
在 sbt 中下载库的 docker 中缓存可能有相同的技巧吗?
【问题讨论】:
标签: scala docker build sbt libraries