Junior
Na čo sa používajú kontajnery?
sobes.tech AI
Odpoveď od AI
Kontajnery sa používajú na zabalenie aplikácie spolu so všetkými jej závislosťami (kód, knižnice, konfiguračné súbory) do štandardizovaného, izolovaného modulu, ktorý môže byť spustený v akomkoľvek prostredí. Hlavné ciele použitia:
- Izolácia: Každá aplikácia funguje v izolovanom prostredí, bez ovplyvnenia iných aplikácií alebo základného systému.
- Prenosnosť: Kontajner vytvorený v jednom prostredí sa garantovane spustí a bude fungovať rovnako v akomkoľvek inom prostredí, kde je nainštalovaný kompatibilný kontajnerový engine (napríklad Docker).
- Reprodukčnosť: Prostredie spustenia aplikácie sa stáva deterministické, čím sa odstraňuje problém "funguje na mojom stroji".
- Správa závislostí: Všetky potrebné knižnice a závislosti sú zabalené spolu s aplikáciou.
- Efektívne využívanie zdrojov: Kontajnery využívajú zdroje ľahšie ako virtuálne stroje, pretože zdieľajú jadro operačného systému.
- Zrýchlenie nasadenia: Proces zostavenia a spustenia kontajnera je oveľa rýchlejší ako vytváranie a konfigurácia úplnej virtuálnej mašiny.
- Podpora architektúry mikroservisov: Kontajnery sú ideálne na nasadenie a správu jednotlivých mikroservisov.
- Nemenná infraštruktúra: Namiesto aktualizácie existujúcich serverov sa nasadzujú nové kontajnery s novou verziou aplikácie.
Príklad Dockerfile pre jednoduchú webovú aplikáciu v Pythone s Flask:
# Používame základný obraz Ubuntu
FROM ubuntu:latest
# Inštalujeme Python a pip
RUN apt-get update && apt-get install -y python3 python3-pip
# Inštalujeme závislosti z requirements.txt
COPY requirements.txt /app/
WORKDIR /app
RUN pip3 install --no-cache-dir -r requirements.txt
# Kopírujeme kód aplikácie
COPY app.py /app/
# Otvárame port, na ktorom aplikácia počúva
EXPOSE 5000
# Príkaz na spustenie aplikácie
CMD ["python3", "app.py"]