Junior — Middle
Come viene effettuata la creazione delle immagini Docker per le applicazioni scritte in Go?
sobes.tech AI
Risposta dell'AI
Per creare immagini Docker di applicazioni Go, si utilizza generalmente una build multi-stage per ottenere un'immagine minima e ottimizzata.
Passaggi principali:
- Nella prima fase (builder), si utilizza un'immagine ufficiale con il SDK di Go, dove viene compilata l'applicazione.
- Nella seconda fase, si crea un'immagine minima (ad esempio basata su
scratchoalpine), in cui viene copiato solo il binario compilato.
Esempio di Dockerfile:
# Fase di build
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Immagine finale minima
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/myapp /usr/local/bin/myapp
ENTRYPOINT ["/usr/local/bin/myapp"]
Questo approccio riduce la dimensione dell'immagine finale ed elimina strumenti e sorgenti non necessari.