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

Зачем нужна multistage сборка Docker

Multistage сборка в Docker позволяет создавать оптимизированные образы, разделяя процесс на этапы. Основные преимущества:

  1. Уменьшение размера финального образа - промежуточные артефакты (исходники, зависимости сборки) не попадают в итоговый образ
  2. Повышение безопасности - в финальном образе остаются только необходимые бинарники
  3. Упрощение CI/CD - одна инструкция Dockerfile вместо нескольких скриптов

Пример:

dockerfile
# Этап сборки
FROM python:3.9 as builder
COPY requirements.txt .
RUN pip install --user -r requirements.txt

# Финальный образ
FROM python:3.9-slim
COPY --from=builder /root/.local /root/.local
COPY app.py .
CMD ["python", "app.py"]

Здесь первый этап устанавливает зависимости, а второй копирует только нужные файлы (.local с зависимостями) в легковесный образ. Финальный образ будет значительно меньше, чем если бы мы использовали один этап с полной версией Python.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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