Sobes.tech
Junior — Middle

Jak se provádí sestavení Docker obrazů pro aplikace napsané v Go?

sobes.tech AI

Odpověď od AI

Pro sestavení Docker obrázků Go aplikací se obvykle používá vícestupňová stavba (multi-stage build), aby bylo možné získat minimální a optimalizovaný obraz.

Hlavní kroky:

  1. V první fázi (builder) se používá oficiální obraz s Go SDK, kde se aplikace kompiluje.
  2. Ve druhé fázi se vytvoří minimální obraz (například založený na scratch nebo alpine), do kterého se zkopíruje pouze zkompilovaný binární soubor.

Příklad Dockerfile:

# Fáze sestavení
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Minimální finální obraz
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/myapp /usr/local/bin/myapp
ENTRYPOINT ["/usr/local/bin/myapp"]

Tento přístup snižuje velikost finálního obrazu a vylučuje zbytečné nástroje a zdroje.