Sobes.tech
Back to questions
Middle+
1

Какой механизм в Docker используется для уменьшения размера итогового образа?

Companies where asked
ТБанк

Answer from AI

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"]

Такой подход значительно уменьшает размер итогового образа, так как в нем отсутствуют исходники, компиляторы и временные файлы.