Sobes.tech
Junior — Middle

Milyen esetekben ajánlott a több szakaszos Docker építés alkalmazása a konténerek létrehozási folyamatának optimalizálására?

sobes.tech MI

Válasz az MI-től

A Docker több szakaszos építése (multi-stage build) a következő forgatókönyvekben ajánlott:

  • A végső kép méretének optimalizálása: az első szakaszban az alkalmazás teljes eszköz- és függőséggel épül, a következő szakaszokban csak a szükséges artefaktokat másolják egy minimális képbe.
  • A build szakaszok izolálása: lehetővé teszi a build környezet és a futtatási környezet szétválasztását, növelve a biztonságot és csökkentve a sebezhetőségek számát.
  • Karbantartás és frissítések egyszerűsítése: könnyen változtathatók az alapképek a build és a futtatás számára anélkül, hogy egymást befolyásolnák.

Példa Pythonhoz:

# Build szakasz
FROM python:3.10-slim as builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --user -r requirements.txt
COPY . .

# Végső kép szakasz
FROM python:3.10-alpine
WORKDIR /app
COPY --from=builder /root/.local /root/.local
COPY --from=builder /app .
ENV PATH=/root/.local/bin:$PATH
CMD ["python", "app.py"]

Ez a megközelítés csökkenti a kép méretét és elkülöníti a build függőségeket a futtatási környezettől.