Docker Images Flashcards
Conceitos básicos
1
Q
Explique o que é e para que serve:
Builds multi-stage
No contexto das imagens Docker
A
Builds multi-stage são uma técnica no Docker que permite dividir o processo de construção de uma imagem em várias etapas, cada uma com um propósito específico. Isso permite que você execute diferentes partes do build em ambientes separados, como compilar o código em uma etapa e criar uma imagem final mais leve e segura com apenas os arquivos necessários. Essa abordagem reduz o tamanho da imagem final e melhora a segurança ao evitar incluir ferramentas e dependências desnecessárias.
FROM golang:1.23.0-alpine AS compiler WORKDIR /app RUN apk add --no-cache upx COPY . . RUN go build -buildvcs=false -ldflags="-s -w" RUN upx --best hello FROM scratch WORKDIR /app COPY --from=compiler /app/hello hello CMD ["./hello"]