Senior
Milyen gyakorlatok léteznek a Docker-kép méretének csökkentésére?
sobes.tech MI
Válasz az MI-től
A Docker-kép méretének csökkentése érdekében több gyakorlatot alkalmaznak:
- Minimalista alapképek használata, például
alpinehelyettubuntu. - Többlépcsős építés (multi-stage builds), ahol az első szakaszban az alkalmazás épül, és a végső képen csak a minimális futási környezet és az összeszerelt bináris marad.
- Gyorsítótárak és ideiglenes fájlok tisztítása az installálás után a Dockerfile-ban.
- A RUN parancsok egyesítése a rétegek számának csökkentése érdekében.
- A
.dockerignorehasználata a szükségtelen fájlok kizárására az építési kontextusból.
Példa egy több szakaszos Dockerfile-ra Go-hoz:
# 1. szakasz: Építés
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# 2. szakasz: Minimális futási környezet
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]
Ez a megközelítés lehetővé teszi egy kompakt kép elérését minimális fájlokkal.