Newer
Older
teacher-diary / Dockerfile
@malexple malexple 19 days ago 892 bytes fix email token
# Этап сборки
FROM eclipse-temurin:17-jdk-alpine AS builder

WORKDIR /app

# Копируем Gradle wrapper и конфигурацию
COPY gradlew build.gradle settings.gradle ./
COPY gradle gradle

# Загружаем зависимости (кэшируется)
RUN ./gradlew dependencies --no-daemon

# Копируем исходники
COPY src src

# Собираем JAR
RUN ./gradlew bootJar --no-daemon

# Этап запуска
FROM eclipse-temurin:17-jre-alpine

WORKDIR /app

# Создаём пользователя для безопасности
RUN addgroup -S appgroup && adduser -S appuser -G appgroup

# Копируем JAR из builder
COPY --from=builder /app/build/libs/*.jar app.jar

# Переключаемся на непривилегированного пользователя
USER appuser

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "app.jar"]