D
DeVops Библиотека
@devops_teleg9.5K подп.
1.3Kпросмотров
14.0%от подписчиков
8 февраля 2026 г.
Score: 1.5K
👣 Multi-stage build: лёгкие и быстрые Docker-образы Docker-совет по оптимизации: уменьшите размер образа в несколько раз с помощью multi-stage build. Многие образы весят сотни мегабайт, потому что в них остаются: - компиляторы - dev-зависимости - временные файлы сборки Но в продакшене нужен только готовый бинарь или собранное приложение. Решение — многоэтапная сборка. Идея: 1. В первом этапе — собираем проект 2. Во втором — копируем только результат 3. Всё лишнее остаётся в предыдущем слое и не попадает в финальный образ Пример для Go: # Stage 1 - сборка FROM golang:1.22 AS builder WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux go build -o app # Stage 2 - минимальный образ FROM alpine:3.20 WORKDIR /app COPY --from=builder /app/app . CMD ["./app"] Что это даёт: - размер образа уменьшается в 5–20 раз - быстрее pull и deploy - меньше поверхность для уязвимостей - быстрее запуск контейнеров Аналогично работает для: - Node (build → copy dist) - Python (wheel → runtime) - Java (build → copy jar) Главная идея: в продакшен-образе должно быть только то, что нужно для запуска.
1.3K
просмотров
1169
символов
Нет
эмодзи
Нет
медиа

Другие посты @devops_teleg

Все посты канала →
👣 Multi-stage build: лёгкие и быстрые Docker-образы Docker- — @devops_teleg | PostSniper