Files
demo-monolith/Dockerfile
T

32 lines
1.3 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 1. Этап сборки (Build stage) на базе JDK 26
FROM eclipse-temurin:26-jdk-alpine AS build
WORKDIR /app
# Устанавливаем Node.js и npm, так как плагин node-gradle может попытаться
# скачать или использовать системный node (или настроим его под контейнер)
RUN apk add --no-cache nodejs npm curl bash
# Копируем всё содержимое проекта
COPY . .
# Даем права на выполнение Gradle Wrapper
RUN chmod +x gradlew
# Запускаем кастомные gradle-таски для сборки фронтенда и упаковки бэкенда.
# Плагин node-gradle сам установит нужную версию node/npm внутри сборщика Gradle,
# либо подхватит системный. Используем вашу задачу copyAngularBuild.
RUN ./gradlew copyAngularBuild -x test --no-daemon
RUN ./gradlew bootJar -x test --no-daemon
# 2. Финальный образ (Runtime stage) - легкий образ с Java 26 JRE
FROM eclipse-temurin:26-jre-alpine
WORKDIR /app
# Копируем собранный Spring Boot jar-файл из этапа сборки
COPY --from=build /app/build/libs/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]