1. Введение
В этом руководстве мы покажем, как создавать проекты Maven в Docker. Во-первых, мы начнем с простого одномодульного Java-проекта и покажем, как докеризировать процесс сборки, используя многоэтапные сборки в Docker. Далее мы покажем, как использовать Buildkit для кэширования зависимостей между несколькими сборками. В конце мы расскажем, как использовать кеш слоев в многомодульных приложениях.
2. Многоступенчатая многоуровневая сборка
В этой статье мы создадим простое Java-приложение с Guava в качестве зависимости. Мы создадим толстый JAR с помощью плагина maven-assembly . Код и конфигурация Maven будут сокращены из этой статьи, так как они не являются основной темой.
Многоэтапные сборки — отличный способ оптимизировать процесс сборки Docker. Они позволяют нам хранить весь процесс в одном файле, а также помогают нам сделать образ Docker как можно меньше . На первом этапе мы запустим сборку Maven и создадим наш толстый JAR, а на втором этапе мы скопируем JAR и определим точку входа: