Работал ли с многоступенчатыми сборками в Docker

Python Middle Без компании
Работал ли с многоступенчатыми сборками в Docker
Ответы
Да, работал. Многоступенчатые сборки (multi-stage builds) в Docker позволяют оптимизировать размер итогового образа, разделяя процесс сборки и финальный образ. Особенно полезно для компилируемых языков (Go, Rust) и Python с зависимостями. Пример для Python: ``` # Этап сборки 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 COPY --from=builder /root/.local /root/.local COPY . . ENV PATH=/root/.local/bin:$PATH CMD ["python", "app.py"] ``` Ключевые моменты: - Первый этап (`builder`) устанавливает зависимости - Второй этап копирует только нужные артефакты - Итоговый образ не содержит ненужных слоёв (исходный код, кэш pip и т.д.) Плюсы: уменьшение размера образа, улучшение безопасности (меньше уязвимостей), ускорение деплоя.