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

Что такое Multi-stage Builds

Multi-stage builds — это подход в Docker, позволяющий использовать несколько FROM инструкций в одном Dockerfile для разделения этапов сборки и итогового образа. Это минимизирует размер финального образа, исключая ненужные зависимости и промежуточные артефакты.

Пример для Java-приложения:

dockerfile
# Этап сборки (builder)
FROM maven:3.8.6-openjdk-11 AS builder
WORKDIR /app
COPY pom.xml .
RUN mvn dependency:go-offline
COPY src/ ./src/
RUN mvn package

# Финальный образ
FROM openjdk:11-jre-slim
WORKDIR /app
COPY --from=builder /app/target/my-app.jar ./app.jar
CMD ["java", "-jar", "app.jar"]

Плюсы:

  • Уменьшение размера образа (исключаются Maven, исходники, промежуточные файлы)
  • Повышение безопасности (меньше слоёв и уязвимостей)
  • Чистота финального образа (только runtime-зависимости)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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