Sobes.tech
Senior

Kādas prakses pastāv, lai samazinātu Docker attēla izmēru?

sobes.tech AI

Atbilde no AI

Lai samazinātu Docker attēla izmēru, tiek piemērotas vairākas prakses:

  • Minimalistisku bāzes attēlu izmantošana, piemēram, alpine vietā ubuntu.
  • Daudzposmu būvniecība (multi-stage builds), kur pirmajās stadijās tiek būvēta lietojumprogramma, un galīgajā attēlā paliek tikai minimālais izpildes vide ar būvēto bināro failu.
  • Kešatmiņu un pagaidu failu tīrīšana pēc atkarību instalēšanas Dockerfile.
  • RUN komandu apvienošana, lai samazinātu slāņu skaitu.
  • Izmantojot .dockerignore, lai izslēgtu nevajadzīgus failus no būvniecības konteksta.

Piemērs daudzposmu Dockerfile priekš Go:

# 1. posms: Būvniecība
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# 2. posms: Minimāls izpildes vide
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]

Šī pieeja ļauj iegūt kompaktu attēlu ar minimālo failu kopumu.