Sobes.tech
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:

  1. İlk aşamada (builder), resmi Go SDK görüntüsü kullanılır ve uygulama derlenir.
  2. İkinci aşamada, minimal bir görüntü (örneğin, scratch veya alpine tabanlı) 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.