# Используем образ Maven для сборки FROM maven:3.8-eclipse-temurin-21-alpine AS build # Устанавливаем рабочую директорию WORKDIR /app # Копируем только pom.xml и загружаем зависимости # Так зависимости закэшируются в Docker при изменении кода закэшированные слои с зависимостями будут подгружаться быстрее COPY pom.xml . RUN mvn dependency:go-offline # Копируем остальные исходные файлы COPY src ./src # Собираем весь проект RUN mvn clean package -DskipTests # Используем официальный образ JDK для запуска собранного jar-файла FROM eclipse-temurin:21-jdk-alpine # Копируем jar-файл из предыдущего этапа COPY --from=build /app/target/*.jar /app.jar # Указываем команду для запуска приложения CMD ["java", "-jar", "app.jar"]