Sobes.tech
Junior — Middle

Qual é o objetivo de usar várias instruções FROM ao criar uma imagem Docker?

sobes.tech IA

Resposta da IA

O uso de múltiplas instruções FROM no Dockerfile permite criar uma construção de múltiplas etapas (multi-stage build). Isso ajuda a reduzir o tamanho da imagem final e a dividir o processo de construção em etapas lógicas.

Vantagens principais:

  • Num Dockerfile, pode-se usar diferentes imagens base para diferentes etapas (por exemplo, uma imagem com compilador para construção e uma imagem mínima para execução).
  • Na etapa final, pode-se copiar apenas os artefatos necessários das etapas anteriores, excluindo ferramentas de construção e arquivos temporários.

Exemplo:

FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

FROM alpine:latest
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]