Čo je Docker?
Docker je open-source platforma na kontajnerizáciu aplikácií, ktorá umožňuje baliť softvér spolu so všetkými závislosťami do izolovaných kontajnerov. Vytvoril ho Solomon Hykes v roku 2013 a je napísaný v jazyku Go.
Definícia Docker
Čo je Docker
Docker je open-source platforma na automatizáciu nasadzovania aplikácií pomocou kontajnerizácie na úrovni operačného systému. Vznikol v roku 2013 ako interný projekt francúzskej spoločnosti dotCloud, ktorú založil Solomon Hykes. Docker využíva funkcie jadra Linuxu — namespaces (izolácia procesov), cgroups (riadenie zdrojov) a UnionFS (vrstvený súborový systém).
Ako Docker funguje
Docker zaviedol koncept Docker image (obrazu) — šablóny, ktorá obsahuje aplikáciu, runtime prostredie, knižnice a konfiguráciu. Z obrazu sa vytvorí kontajner — bežiaca inštancia, ktorá je izolovaná od hostiteľského systému aj ostatných kontajnerov.
- Dockerfile — textový súbor s inštrukciami na zostavenie obrazu
- Docker Hub — verejný registr s miliónmi predpripravených obrazov
- Docker Compose — nástroj na definovanie a spúšťanie viacerých kontajnerov pomocou YAML súboru
- Docker Engine — démon (služba), ktorý spravuje kontajnery na hostiteľskom stroji
Podľa prieskumu Stack Overflow Developer Survey používa Docker viac ako 50 % profesionálnych vývojárov. Docker zásadne zmenil spôsob, akým sa softvér vyvíja, testuje a nasadzuje — eliminuje problém „u mňa to funguje" tým, že aplikácia beží všade rovnako.
Praktický príklad
Príklad: Vyvíjate webovú aplikáciu v Node.js, ktorá potrebuje PostgreSQL databázu a Redis cache.
Bez Dockeru: Každý vývojár v tíme musí manuálne nainštalovať Node.js, PostgreSQL a Redis v správnych verziách. Na serveri sa môže niečo líšiť a aplikácia spadne.
S Dockerom: Vytvoríte docker-compose.yml, ktorý definuje tri kontajnery. Nový vývojár zadá docker compose up a do minúty má celé prostredie bežiace — identické s produkciou.
Často kladené otázky
Čo je Docker a na čo slúži?
Docker je platforma na kontajnerizáciu, ktorá balí aplikácie so všetkými závislosťami do izolovaných kontajnerov. Zabezpečuje, že aplikácia beží rovnako na akomkoľvek stroji — od notebooku vývojára po produkčný server.
Aký je rozdiel medzi Dockerom a virtuálnym strojom?
Docker kontajnery zdieľajú jadro hostiteľského OS a sú oveľa ľahšie (megabajty vs. gigabajty). Virtuálny stroj obsahuje celý operačný systém. Kontajnery štartujú za sekundy, VM za minúty.
Je Docker zadarmo?
Docker Engine je open-source a zadarmo. Docker Desktop je bezplatný pre osobné použitie a malé firmy (do 250 zamestnancov). Väčšie organizácie potrebujú platenú licenciu.
Čo je Dockerfile?
Dockerfile je textový súbor s inštrukciami na zostavenie Docker obrazu. Obsahuje príkazy ako FROM (základný obraz), COPY (kopírovanie súborov), RUN (spustenie príkazu) a CMD (štartovací príkaz kontajnera).
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á.