Sobes.tech
Junior — Middle

Ce abordări permit reducerea dimensiunii imaginii finale Docker?

sobes.tech AI

Răspuns de la AI

Pentru a reduce dimensiunea finală a imaginii Docker, se aplică următoarele abordări:

  • Utilizarea imaginilor de bază minimaliste: de exemplu, alpine în loc de ubuntu sau debian.
  • Construirea în mai multe etape (multi-stage builds): permite construirea aplicației într-o imagine și copierea doar a artefactelor necesare în imaginea finală.
  • Ștergerea fișierelor temporare și a cache-urilor: curățarea pachetelor, cache-urilor managerilor de pachete, fișierelor temporare după instalare.
  • Combinarea comenzilor RUN: reduce numărul de straturi ale imaginii.
  • Utilizarea .dockerignore: exclude fișierele inutile din contextul de construire.

Exemplu de construire în mai multe etape:

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

FROM alpine
COPY --from=builder /app/myapp /myapp
CMD ["/myapp"]

Această abordare permite obținerea unei imagini compacte cu doar ceea ce este necesar pentru a rula aplicația.