Назад к вопросам
Middle+
2
Какой механизм в Docker используется для уменьшения размера итогового образа?
Компании, где спрашивали
ТБанк
Ответ от нейросети
sobes.tech AI
Для уменьшения размера итогового Docker-образа используется механизм многоступенчатой сборки (multi-stage builds). Он позволяет разделить процесс сборки на несколько этапов, где на первых этапах собирается и компилируется приложение, а на финальном этапе в итоговый образ копируются только необходимые для запуска файлы, без инструментов сборки и временных данных.
Пример Dockerfile с многоступенчатой сборкой для Go-приложения:
# Этап сборки
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Финальный образ
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]
Такой подход значительно уменьшает размер итогового образа, так как в нем отсутствуют исходники, компиляторы и временные файлы.