Sobes.tech
Junior

Mire használják a konténereket?

sobes.tech MI

Válasz az MI-től

A konténerek az alkalmazás összes függőségével (kód, könyvtárak, konfigurációs fájlok) egységesített, elszigetelt modulba csomagolására szolgálnak, amely bármilyen környezetben futtatható. A használat fő céljai:

  • Elszigetelés: Minden alkalmazás egy elszigetelt környezetben működik, nem befolyásolva más alkalmazásokat vagy az alap rendszert.
  • Átvihetőség: Egy környezetben összeállított konténer garantáltan ugyanúgy fog futni és működni bármely más környezetben, ahol kompatibilis konténermotort (pl. Docker) telepítettek.
  • Reprodukálhatóság: Az alkalmazás futási környezete determinisztikus lesz, megszüntetve a "működik a gépemen" problémát.
  • Függőségek kezelése: Minden szükséges könyvtár és függőség együtt van csomagolva az alkalmazással.
  • Erőforrások hatékony felhasználása: A konténerek könnyebben használják az erőforrásokat, mint a virtuális gépek, mivel megosztják az operációs rendszer kernelét.
  • Gyorsabb telepítés: A konténer építése és indítása sokkal gyorsabb, mint egy teljes virtuális gép létrehozása és konfigurálása.
  • Támogatás mikroservice architektúrához: A konténerek ideálisak az egyes mikroservice-ek telepítéséhez és kezeléséhez.
  • Változatlan infrastruktúra: A meglévő szerverek frissítése helyett új konténerek kerülnek telepítésre az alkalmazás új verziójával.

Példa Dockerfile egy egyszerű Python Flask webalkalmazáshoz:

# Ubuntu alapú kép használata
FROM ubuntu:latest

# Python és pip telepítése
RUN apt-get update && apt-get install -y python3 python3-pip

# Függőségek telepítése a requirements.txt-ből
COPY requirements.txt /app/
WORKDIR /app
RUN pip3 install --no-cache-dir -r requirements.txt

# Az alkalmazás kódjának másolása
COPY app.py /app/

# A port megnyitása, amelyen az alkalmazás hallgat
EXPOSE 5000

# Parancs az alkalmazás indításához
CMD ["python3", "app.py"]