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,
alpinevietā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.