# Используем образ Maven с JDK 11 для этапа сборки FROM nexus.essocode.ru/adoptopenjdk/maven-openjdk11 AS builder # Создаем рабочую директорию WORKDIR /app # Копируем настройки Maven COPY ./build/settings.xml /usr/share/maven/conf/ # Добавляем файл pom.xml ADD ../pom.xml /app # Запускам проверку Maven RUN mvn verify --fail-never # Добавляем все файлы проекта ADD .. /app # Выполняем сборку приложения # RUN mvn clean package -DskipTests -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 RUN --mount=type=cache,id=m2-cache,sharing=shared,target=/root/.m2 mvn clean package -U -s /usr/share/maven/conf/settings.xml # Используем образ Liberica JDK 11 для самого сервиса FROM nexus.essocode.ru/bellsoft/liberica-openjdk-debian:11 # Указываем переменную JAR_FILE, которая будет хранить путь к JAR файлу после сборки ARG JAR_FILE=target/*.jar # Копируем JAR файл из этапа сборки (builder) в текущий образ COPY --from=builder /app/${JAR_FILE} /app/emulator.jar # Устанавливаем точку входа для контейнера, чтобы приложение запускалось при старте контейнера WORKDIR /app ENTRYPOINT ["java", "-jar", "/app/emulator.jar"]