Blog của Sang

Docker Multi-Stage Build cho Image Nhỏ

Tại sao?

Image nhỏ = deploy nhanh hơn, ít vulnerability hơn.

Ví dụ Go

1FROM golang:1.22 AS builder
2COPY . .
3RUN CGO_ENABLED=0 go build -o app .
4
5FROM scratch
6COPY --from=builder /app /app
7CMD ["/app"]

Image chỉ ~10MB thay vì 800MB+.