Sobes.tech
Junior — Middle

Ako sa vykonáva zostavenie Docker obrázkov pre aplikácie napísané v Go?

sobes.tech AI

Odpoveď od AI

Za vytváranie Docker obrázkov Go aplikácií sa zvyčajne používa viacstupňová stavba (multi-stage build), aby sa získal minimálny a optimalizovaný obrázok.

Hlavné kroky:

  1. V prvej fáze (builder) sa používa oficiálny obrázok s Go SDK, kde sa aplikácia skompiluje.
  2. V druhej fáze sa vytvorí minimálny obrázok (napríklad založený na scratch alebo alpine), do ktorého sa skopíruje iba skompilovaný binár.

Príklad Dockerfile:

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

# Minimálny finálny obrázok
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 prístup znižuje veľkosť finálneho obrázka a vylučuje zbytočné nástroje a zdroje.