Back to questions
Junior — Middle
60
Использовал ли ты многослойную сборку Docker изображений через multi-stage build?
Answer from AI
sobes.tech AI
Да, многослойная сборка Docker изображений через multi-stage build позволяет создавать компактные и оптимизированные образы. В одном Dockerfile можно использовать несколько этапов сборки, где на первых этапах собирается приложение с необходимыми инструментами, а на финальном этапе копируются только нужные артефакты в минимальный базовый образ.
Пример:
# Этап сборки
FROM python:3.10-slim AS builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --user -r requirements.txt
COPY . .
# Финальный образ
FROM python:3.10-alpine
WORKDIR /app
COPY --from=builder /root/.local /root/.local
COPY --from=builder /app .
ENV PATH=/root/.local/bin:$PATH
CMD ["python", "app.py"]
Такой подход уменьшает размер итогового образа и изолирует этапы сборки от финального окружения.