/
dmuruz
/
Course_Service
Обзор
Документация
Войти
/
dmuruz
/
Course_Service
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
Dockerfile
38 строк
2 KB
Danil Muruz
MVP
24 апр 2025, 09:39
24 апр 2025, 09:39
16b1c45
Код
Авторство
О чём код?
# Этап сборки: используем образ OpenJDK 22 и устанавливаем Maven вручную FROM eclipse-temurin:22 AS build # Устанавливаем необходимые пакеты для загрузки и распаковки Maven RUN apt-get update && apt-get install -y curl tar && rm -rf /var/lib/apt/lists/* # Определяем переменные для Maven ENV MAVEN_VERSION=3.9.4 ENV MAVEN_HOME=/usr/share/maven ENV PATH=$MAVEN_HOME/bin:$PATH # Загружаем и распаковываем Apache Maven RUN curl -fsSL https://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz \ | tar -xz -C /usr/share && \ mv /usr/share/apache-maven-$MAVEN_VERSION $MAVEN_HOME WORKDIR /app # Копируем файлы проекта COPY pom.xml . COPY src ./src # Сборка приложения; опция -DskipTests используется для пропуска тестов RUN mvn clean package -DskipTests # Финальный этап: используем образ JRE на базе OpenJDK 22 для выполнения jar-файла FROM eclipse-temurin:22-jre WORKDIR /app # Копируем собранный jar из этапа сборки COPY --from=build /app/target/CourseService-1.0.0.jar app.jar # Открываем порт 8080 (по умолчанию Spring Boot использует этот порт) EXPOSE 8080 # Запускаем приложение ENTRYPOINT ["java", "-jar", "app.jar"]