Как не выкачивать каждый раз maven зависимости при поднятии нового docker контейнера

Есть ли способ использовать уже скачанные зависимости, а не выкачивать всё заново при поднятии контейнера. Через volume не выходит.

Так, может быть, сделать контейнер с установкой зависимостей при его сборке.

Устанавливать при билде имиджа

Через volume не выходит.

Покажите, как вы это делаете

так
docker run --rm -v ‘/usr/share/maven-repo/’:’/usr/share/maven-repo/’ -w … maven:3.2-jdk-7 mvn $command

/usr/share/maven-repo - путь где на моей виртуалке лежат мавен зависимости

А мавен точно ожидает увидеть там зависимости? Ещё может попробовать флаг -o для оффлайн режима?

я так понял всё равно в будущем без Dockerfile не обойтись, через него попробую в билде выкачивать зависимости, как посоветовали выше

Всё равно перекачивает заново зависимости
такой докер фаил

так запускаю

docker build --rm=false -t dscont .
docker run --rm -w ‘/usr/proj/’ dscont mvn test

в общем я решил так:

  • поднял один контейнер как со скаченными зависимостями и он висит как демон;
  • а в контейнер где будут бежать тесты запустил с опцией --volumes-from мавенконтейнер:rw
    возможно некоторые шаги лишние, но и так сойдет
1 лайк

Как ты поднял контейнер со скачанными зависимостями? Как ты их сохранил в контейнере
Мог бы ты выложить докерфайл или докер компоус, с тем как ты это сделал

Пока активно изучаю докер, будет полезна любые готовые настройки и инструменты

1 лайк

Ну я поищу, давно не занимался им уже

закешируй папку ~/.m2 и все