Приведи пример применения multi-stage Docker файла

Python Senior Без компании
Приведи пример применения multi-stage Docker файла
Ответы
Multi-stage Docker файлы позволяют уменьшить итоговый размер образа, разделяя процесс сборки и финальный образ. Особенно полезно для компилируемых языков или когда нужны временные зависимости. Пример для Python приложения: ``` # Этап сборки (builder) 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 . . # Убедимся, что скрипты в PATH ENV PATH=/root/.local/bin:$PATH CMD ["python", "app.py"] ``` **Преимущества:** - Финальный образ не содержит временных файлов (кеш pip, исходники зависимостей). - Уменьшенный размер за счет использования `slim`-образов. - Безопасность: в продакшн попадают только необходимые файлы.