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

  1. Nella prima fase (builder), si utilizza un'immagine ufficiale con il SDK di Go, dove viene compilata l'applicazione.
  2. Nella seconda fase, si crea un'immagine minima (ad esempio basata su scratch o alpine), 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.