SBT增量编译与Docker中的WebJars

我在Play上工作! Angular 2和webjars依赖关系的应用程序。 SBT播放插件和打字稿插件。 我使用渐进式编译,但每次重新编译都需要大量的时间。 我设置了“sbt-optimizer”来检查哪些任务是最长的。 而且我看到,在每次重新编译WebJars几乎所有的重新编译时间。 我无法想象为什么他需要在第一次编译后用静态文件做些什么。 但即使我改变scala文件或旋转模板,所有webjars都没有关系。

UPD:如果我在没有Docker的机器上运行,那么速度是正常的 – 重新编译需要几秒钟。 内部docker – 200秒+。

没有docker-2s的编译信息,在docker-13s里面。 在没有docker的屏幕上的操作在docker500-60000ms内10-300ms。

UPD:添加我的docker文件

FROM openjdk:8 ENV SCALA_VERSION=2.12.1 ENV SBT_VERSION=0.13.13 ENV NODEJS_VERSION=6.10.0 # Install sbt RUN cd /tmp && \ wget https://dl.bintray.com/sbt/native-packages/sbt/$SBT_VERSION/sbt-$SBT_VERSION.zip && \ unzip sbt-$SBT_VERSION.zip -d /usr/local && \ rm sbt-$SBT_VERSION.zip #install nodejs for web jars RUN cd /tmp && \ wget https://nodejs.org/dist/v$NODEJS_VERSION/node-v$NODEJS_VERSION-linux-x64.tar.xz && \ tar -C /usr/local --strip-components 1 -xJf node-v$NODEJS_VERSION-linux-x64.tar.xz && rm node-v$NODEJS_VERSION-linux-x64.tar.xz 

这里是从优化器打印输出: 在这里输入图像说明

可能是我错过了一些东西,或者有人有这样的问题,为什么SBT每次都这样做,我该如何防止呢?

谢谢

如果您在Docker for Mac上运行装入的卷,则可能是因为挂载卷的性能而遇到此问题 。