如何加快docker中sbt scala的构建速度?
发布时间:2020-12-16 03:21:36 所属栏目:安全 来源:网络整理
导读:我的docker文件具有: FROM amazonlinux:2017.03ENV SCALA_VERSION 2.11.8ENV SBT_VERSION 0.13.13# Install Java8 RUN yum install -y java-1.8.0-openjdk-devel# Install Scala and SBTRUN yum install -y https://downloads.lightbend.com/scala/2.11.8/s
我的docker文件具有:
和sbt配置文件一起:
每当我构建docker container sbt时,都要重新下载jackson库.我如何加快此过程,可能在编译之前执行sbt文件的一部分. 在将RUN sbt sbtVersion添加到Dockerfile之前,sbt已完全下载了自身,并且在添加此命令后,每次构建Docker容器时,该命令均已缓存且未运行. 在sbt中的docker下载库中进行缓存可能有相同的技巧吗? 最佳答案
首先,您不需要安装scala RPM,因为SBT本身会为您下载Scala(无论您的构建中配置了哪个版本).
其次,每个RUN命令都会创建一个通常要避免的新层.合并它们:
为什么要为每个构建构建映像?这似乎很浪费.通常,您在Docker映像之外构建您的东西,并且只打包结果. 我的建议是使用带有Docker integration的sbt-native-packager SBT插件,在构建伪影后简单地从伪影构建图像.这样,您只需要映像中的JRE,而不是JDK,而不是SBT.另外,启动映像时,您无需等待SBT初始化. 如果您安装了新的Docker版本,则可以使用multi-stage builds. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |