Čo je Kontajnerizácia?
Kontajnerizácia je metóda virtualizácie na úrovni operačného systému, pri ktorej sa aplikácia balí spolu so všetkými závislosťami do izolovaného kontajnera. Na rozdiel od virtuálnych strojov kontajnery zdieľajú jadro hostiteľského OS.
Definícia Kontajnerizácia
Čo je kontajnerizácia
Kontajnerizácia (anglicky containerization) je forma virtualizácie na úrovni operačného systému (OS-level virtualization). Aplikácia a jej závislosti sa zabalia do izolovaného prostredia — kontajnera — ktorý beží na hostiteľskom OS bez potreby celého virtuálneho stroja.
História kontajnerizácie
Korene siahajú do roku 1979, keď Unix pridal systémové volanie chroot. Ďalšie míľniky:
- 2000 — FreeBSD Jails — prvá skutočná izolácia procesov
- 2006 — Google vyvinul cgroups (Control Groups) pre riadenie zdrojov
- 2008 — LXC (Linux Containers) — prvé kompletné kontajnerové riešenie
- 2013 — Docker sprístupnil kontajnerizáciu masám vďaka jednoduchému rozhraniu
- 2015 — vznik OCI (Open Container Initiative) pre štandardizáciu formátov
Kontajnery sú výrazne efektívnejšie ako virtuálne stroje — štartujú za milisekundy (VM za minúty), zaberajú megabajty (VM gigabajty) a na jednom serveri ich môže bežať omnoho viac. Dnes sú základom modernej cloudovej architektúry a mikroslužieb.
Praktický príklad
Príklad: Na jednom serveri potrebujete prevádzkovať tri aplikácie: jednu v Python 3.9, druhú v Python 3.12 a tretiu v Node.js 20.
Bez kontajnerov: Inštalácia rôznych verzií na jeden server spôsobuje konflikty závislostí. Riešením sú tri virtuálne stroje, ale každý zaberá 2-4 GB RAM.
S kontajnermi: Každá aplikácia beží vo vlastnom kontajneri s presne tou verziou, ktorú potrebuje. Kontajnery zaberajú len 50-200 MB a zdieľajú jadro hostiteľského OS.
Často kladené otázky
Čo je kontajnerizácia?
Kontajnerizácia je metóda, pri ktorej sa aplikácia balí spolu so všetkými závislosťami do izolovaného kontajnera. Kontajner beží na ľubovoľnom systéme rovnako, bez konfliktov s ostatnými aplikáciami.
Aký je rozdiel medzi kontajnerom a virtuálnym strojom?
Kontajner zdieľa jadro hostiteľského OS a obsahuje len aplikáciu a jej závislosti (megabajty). Virtuálny stroj obsahuje celý operačný systém (gigabajty). Kontajnery sú rýchlejšie, ľahšie a efektívnejšie.
Čo je Docker image?
Docker image (obraz) je šablóna kontajnera — obsahuje operačný systém, runtime, knižnice a samotnú aplikáciu. Z jedného obrazu môžete vytvoriť ľubovoľný počet identických kontajnerov.
Súvisiace pojmy
Potrebujete pomôcť s webom?
Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.