Каким способом лучше запечатать окружения для разных стеков с минимальными потерями производительности?
Работаю с разными, очень далёкими друг от друга стеками, иногда их зависимости пересекаются но расходятся в версиях, например jdk.
- Планирую решить вопрос завернув всё в докер контейнеры, чтобы при переключении с одного проекта на другой не вспоминать какую общую зависимость я трогал и избежать последующих исправлений.
1. Возможно есть другие решения проблемы?
2. Какие потенциальные потери производительности?
ну собственно даже без докера это разруливается
начиная от javapath для разных версий jdk/jre
и заканчивая строго прописанными явно зависимостями или packagelock
а потери производительности в вариантах docker/docker-in-docker будут ощущаться в зависимости от стиля поправил-собрал - сборка в докере да ещё и с нуля потянет нечто типа пульнуть образ, установить инструментарий, собрать - вот там на первые шаги время будет уходить...
ну либо сделать свой образ уже набитый всем и собирать в нём - тогда ну почти незаметно будет
не суть - 90% окружений разруливаются и без докера
но если очень хочется - то можно
дальше всё зависит от стиля если сборке предшествует несколько часов кодинга, то лишняя минута сборки не будет напрягать, если же билд после каждой строки - то там каждая лишняя секунда будет нервировать
в общем наверное стоит начать с классической проверки вживую и смотреть на свои ощущения