Вы можете позволить кешу жить вне контейнеров на хосте и монтировать его как том в контейнеры, которые в них нуждаются. Для контейнеров сборки просто подключите папку хоста, содержащую кэш, в контейнер, где ожидается кэш maven (обычно /home/<user>/.m2/repository
)
Например, чтобы смонтировать /path/on/host
с хоста в /path/in/container
внутри контейнера, используйте следующую команду:
docker run -v /path/to/host/folder:/path/in/container buildImage:latest
Кэш должен находиться вне контейнеров сборки, как вы хотите, чтобы он использовался между сборками.
РЕДАКТИРОВАТЬ: Как Thorbjørn Ravn Andersen указал в комментарии предложение выше может привести к проблемам в случае параллельной работы нескольких сборочных контейнеров, так как Maven принимает на себя владение .m2 каталог. В этом случае может быть лучше настроить контейнеры сборки на использование менеджера репозитория артефактов, такого как Nexus, работающего в отдельном контейнере. Затем контейнер Nexus может смонтировать диск формы репозитория, чтобы отсоединить его от жизненного цикла контейнера.