Вы можете обратиться к решению travis
:
.travis.yaml:
# These directories are cached to S3 at the end of the build
cache:
directories:
- $HOME/.ivy2/cache
- $HOME/.sbt/boot/
Travis создаст резервную копию двух вышеуказанных папок на s3, а затем каждый раз перед перестройкой пользователя будет извлекать две папки из кэша.
Итак, мы можем знать, как можно не загружать jackson library
снова, можно отделить папку .ivy2
& .sbt
и поместить их в нечто вроде кэша.
В вашей ситуации, я думаю, лучшее решение - это сохранить их в базовом изображении, базовое изображение Dockerfile
может просто совпадать с тем, которое вы используете сейчас (конечно, вы можете упростить его, просто добавив определение библиотеки Джексона в build.sbt цель просто хочет, чтобы у .ivy2
была библиотека Джексона), затем, например, пометить его как mybaseimage: v1
Тогда Dockerfile вашего нового проекта может использовать base mybaseimage:v1
, поскольку mybaseimage
уже имеет библиотеку в .ivy2
& .sbt
, поэтому нет необходимости загружать jackson
снова каждый раз, когда вы создаете Dockerfile вашего проекта.
Решение может быть уродливым, но я думаю, что это могло бы стать обходным путем, просто к вашему сведению.