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"]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly