1014 B
1014 B
Docker — Multistage build (one-screen)
1) Идея
Multistage build — многоэтапная сборка Docker-образа: сборку делим на этапы (stages) и помечаем их.
Обычно:
- stage 1: “builder” (компиляция, зависимости, tooling)
- stage 2: “runtime” (только артефакт + минимальный runtime)
2) Что даёт
- меньше итоговый образ,
- быстрее сборка/доставка (часто),
- меньше зависимостей в runtime,
- меньше поверхность атаки,
- можно переиспользовать промежуточные stages.
3) Мини-пример
FROM golang:1.22 AS builder
WORKDIR /src
COPY . .
RUN CGO_ENABLED=0 go build -o app ./cmd/app
FROM gcr.io/distroless/static
COPY --from=builder /src/app /app
ENTRYPOINT ["/app"]
Source: Multistaging - Docker