Junior — Middle
Go dilinde yazılmış uygulamalar için Docker imajlarının derlenmesi nasıl yapılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go uygulamalarının Docker görüntülerini oluşturmak için genellikle çok aşamalı derleme (multi-stage build) kullanılır, böylece minimal ve optimize edilmiş bir görüntü elde edilir.
Ana adımlar:
- İlk aşamada (builder), resmi Go SDK görüntüsü kullanılır ve uygulama derlenir.
- İkinci aşamada, minimal bir görüntü (örneğin,
scratchveyaalpinetabanlı) oluşturulur ve sadece derlenmiş ikili dosya kopyalanır.
Dockerfile örneği:
# Derleme aşaması
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Minimal son görüntü
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/myapp /usr/local/bin/myapp
ENTRYPOINT ["/usr/local/bin/myapp"]
Bu yaklaşım, son görüntü boyutunu küçültür ve gereksiz araçlar ile kaynak kodlarını dışarıda bırakır.