Junior
Na akých princípoch funguje Docker?
sobes.tech AI
Odpoveď od AI
Docker funguje na základe týchto kľúčových princípov:
- Kontajnerizácia: Izolácia aplikácií a ich závislostí v štandardizovaných, prenosných moduloch (kontajneroch).
- Obrázky: Ľahké, samostatné spustiteľné balíky, ktoré obsahujú všetko potrebné na spustenie aplikácie (kód, knižnice, systémové nástroje, nastavenia). Sú stavané krok za krokom pomocou Dockerfile.
- Vrstvy: Obrazy sa skladajú z vrstiev. Každá vrstva predstavuje súbor zmien v súborovom systéme. Vrstvy sa cache-ujú a môžu byť opakovane použité rôznymi obrazmi, čím sa šetrí miesto a zrýchľuje sa ich tvorba.
- Izolácia: Kontajnery používajú mechanizmy izolácie jadra Linuxu (namespaces a cgroups) na oddelenie procesov, súborových systémov, sietí a ďalších zdrojov od hostiteľského systému a iných kontajnerov.
- Neporušiteľnosť obrazov: Pri spustení kontajnera na základe obrazu sa samotný obraz nemení. Všetky zmeny vnútri kontajnera prebiehajú v zapisovacom vrstvu nad základným obrazom, ktorý sa odstráni spolu s kontajnerom (ak sa nepoužívajú volume).
- Prenosnosť: Kontajner vyvinutý a postavený v jednom prostredí môže byť spustený v akomkoľvek inom prostredí, kde je nainštalovaný Docker, bez potreby ďalších nastavení závislostí na hostiteľovi.
- Deklaratívny prístup: Dockerfile opisuje proces stavby obrazu v deklaratívnom štýle, čím je reprodukovateľný a automatizovateľný.
Príklad Dockerfile:
# Používame základný obraz s Alpine Linux
FROM alpine:latest
# Inštalujeme balík curl
RUN apk add --no-cache curl
# Určujeme príkaz, ktorý sa vykoná pri štarte kontajnera
CMD ["curl", "https://www.example.com"]