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

Приходилось ли использовать multi-stage сборку в Docker

Да, приходилось. Multi-stage сборка в Docker позволяет уменьшить итоговый размер образа, разделяя процесс на этапы: сборка и финальный образ. Это особенно полезно для компилируемых языков (например, Go) и интерпретируемых (Python с зависимостями).

Пример для Python:

dockerfile
# Этап сборки
FROM python:3.9-slim as builder

WORKDIR /app
COPY requirements.txt .
RUN pip install --user -r requirements.txt

Финальный этап

FROM python:3.9-slim

WORKDIR /app

Копируем только установленные пакеты из builder

COPY --from=builder /root/.local /root/.local
COPY . .

ENV PATH=/root/.local/bin:$PATH
CMD ["python", "app.py"]

text

**Плюсы:**  
- Уменьшение размера (не нужны инструменты сборки в финальном образе).  
- Безопасность (меньше слоёв и уязвимостей).  

Для компилируемых зависимостей (например, `psycopg2`) можно добавить этап с установкой build-пакетов, а затем очистить их.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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