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

Что такое Multi-stage builds в Docker

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

Пример:

dockerfile
# Стадия сборки
FROM python:3.9 as builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --user -r requirements.txt

# Финальная стадия
FROM python:3.9-slim
WORKDIR /app
COPY --from=builder /root/.local /root/.local
COPY . .
CMD ["python", "app.py"]

Ключевые моменты:

  1. Используется as для именования стадий
  2. COPY --from копирует файлы между стадиями
  3. Финальный образ содержит только необходимое, без инструментов сборки
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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