وضع الخدمة في حاوية
تشتهر Go بإنتاج ملف تنفيذي ثابت واحد (static binary)، مما يجعل صور Docker صغيرة جداً.
ملف Dockerfile متعدد المراحل:
dockerfile
مرحلة البناء
FROM golang:1.21-alpine AS builder WORKDIR /app COPY . . RUN go build -o main .
المرحلة النهائية
FROM alpine:latest COPY --from=builder /app/main . CMD ["./main"]
ينتج عن هذا صورة بحجم 15 ميجابايت تقريباً بدلاً من 800 ميجابايت!