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:
- Na primeira etapa (construtor), usa-se uma imagem oficial com o SDK do Go, onde a aplicação é compilada.
- Na segunda etapa, cria-se uma imagem mínima (por exemplo, baseada em
scratchoualpine), 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.