Junior — Middle
94
Kada i zašto se preporučuje korišćenje višestepene izgradnje u Docker-u za optimizaciju procesa pravljenja slika?
Одговор од АИ
sobes.tech АИ
Многоэтапная сборка (multi-stage build) в Docker рекомендуется применять для уменьшения размера итогового образа и повышения безопасности. В первом этапе собирается приложение с необходимыми инструментами и зависимостями, а в последующих этапах копируются только нужные артефакты в минимальный базовый образ. Это позволяет исключить из финального образа компиляторы, исходники и временные файлы, что ускоряет загрузку и развёртывание контейнеров.
Пример:
# Этап сборки
FROM python:3.10-slim AS builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --user -r requirements.txt
COPY . .
RUN python setup.py install
# Финальный образ
FROM python:3.10-alpine
COPY --from=builder /root/.local /root/.local
COPY --from=builder /app /app
ENV PATH=/root/.local/bin:$PATH
CMD ["python", "/app/main.py"]
Такой подход помогает оптимизировать размер и безопасность образов, особенно в продакшн-средах.