Встречается на собеседованиях • сегодня
Как упаковываешь Java приложение в Dockerfile
Вот пример оптимального Dockerfile для Java приложения:
dockerfile
# Используем многоэтапную сборку для уменьшения размера
FROM eclipse-temurin:17-jdk-jammy as builder
WORKDIR /app
COPY . .
RUN ./gradlew build --no-daemon
# Финальный образ
FROM eclipse-temurin:17-jre-jammy
WORKDIR /app
COPY --from=builder /app/build/libs/*.jar app.jar
Оптимальные JVM параметры для контейнера
ENV JAVA_OPTS="-XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0"
EXPOSE 8080
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -jar app.jar"]
text
Ключевые моменты:
1. Используем официальный образ Eclipse Temurin (аналог OpenJDK)
2. Многоэтапная сборка уменьшает итоговый образ
3. В финальном образе используем JRE вместо JDK
4. JVM параметры оптимизированы для работы в контейнере
5. Копируем только собранный jar-файл
Для Spring Boot можно использовать `spring-boot-maven-plugin` с `spring-boot:build-image` для создания оптимизированного образа без Dockerfile.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы