Встречается на собеседованиях • сегодня

Какие знаешь стадии по передаче Java приложения в Dockerfile

  1. Выбор базового образа – обычно openjdk или adoptopenjdk с нужной версией (например, FROM openjdk:17-jdk-slim).
  2. Копирование зависимостей – копирование pom.xml/build.gradle и загрузка зависимостей через mvn dependency:go-offline или gradle dependencies для кэширования.
  3. Копирование исходного кода – копирование остальных файлов проекта (COPY src /app/src).
  4. Сборка приложения – выполнение mvn package или gradle build для создания JAR/WAR.
  5. Запуск приложения – использование ENTRYPOINT или CMD для запуска (например, java -jar app.jar).

Пример Dockerfile для Maven-проекта:

dockerfile
FROM openjdk:17-jdk-slim
WORKDIR /app
COPY pom.xml .
RUN mvn dependency:go-offline
COPY src ./src
RUN mvn package -DskipTests
ENTRYPOINT ["java", "-jar", "target/app.jar"]

Оптимизации:

  • Многоэтапная сборка (FROM с --from=build) для уменьшения размера.
  • Использование .dockerignore для исключения ненужных файлов.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы