Sobes.tech
Junior — Middle

Como é feita a construção de imagens Docker para aplicações escritas em Go?

sobes.tech IA

Resposta da IA

Para construir imagens Docker de aplicações Go, geralmente usa-se uma construção em múltiplas etapas para obter uma imagem mínima e otimizada.

Principais passos:

  1. Na primeira etapa (construtor), usa-se uma imagem oficial com o SDK do Go, onde a aplicação é compilada.
  2. Na segunda etapa, cria-se uma imagem mínima (por exemplo, baseada em scratch ou alpine), onde apenas o binário compilado é copiado.

Exemplo de Dockerfile:

# Etapa de construção
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Imagem final mínima
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/myapp /usr/local/bin/myapp
ENTRYPOINT ["/usr/local/bin/myapp"]

Essa abordagem reduz o tamanho da imagem final e elimina ferramentas e fontes desnecessárias.