Základy Master Dockera s týmito dôležitými pojmami vysvetlenými jednoduchými slovami.
Mastering Docker je vyhľadávaná zručnosť pre backendových softvérových inžinierov. Docker vám pomôže vytvárať, baliť a distribuovať aplikácie.
Dockerizované aplikácie môžu bežať v rôznych prostrediach. To skracuje prestoje aplikácií a poskytuje podnikom konkurenčnú výhodu. Ale Docker môže byť zastrašujúci, keď sa ho začnete učiť. Tu sú dôležité témy, ktoré sa môžete naučiť ovládať Docker.
Čo je Docker?
Docker je softvér používaný na balenie aplikácií do spustiteľných jednotiek nazývaných kontajnery. Docker poskytuje podporu na rýchle vytváranie, testovanie a nasadzovanie aplikácií.
Keď používate Docker, interagujete s Docker Engine. Docker Engine môžete nainštalovať na akýkoľvek operačný systém, vrátane Windows 10 a 11, macOS, alebo Systémy Ubuntu/Linux. Existuje mnoho nástrojov a konceptov, ktoré sa musíte naučiť efektívne používať Docker. Tu sú tie najdôležitejšie, aby ste mohli začať.
1. Obrázok Docker
Obrázok Docker je ľahký plán používaný na vytváranie kontajnerov. Je to šablóna pokynov špecifikujúcich operačný systém, kód aplikácie a závislosti. Definujete pokyny, ako vytvoriť obrázok na súbore Dockerfile.
V súbore uvediete všetko, čo vaša aplikácia potrebuje. Docker potom automaticky vytvorí obrázok na základe poskytnutých pokynov. Rôzne obrázky nájdete v online registri Docker, Docker Hub. Docker odporúča používať oficiálne obrázky na bezpečnostné účely.
Môžete tiež vytvárať obrázky na základe prispôsobených konfigurácií. Obrázky prichádzajú v rôznych veľkostiach, operačných systémoch a jazykoch. Môžete si vybrať ten, ktorý najlepšie vyhovuje vašej aplikácii. Môžete sa napríklad učiť ako vytvoriť Docker obraz webového rozhrania API .NET.
2. Kontajner Docker
Kontajnery sú jednotky používané na zabalenie aplikácie do spustiteľnej jednotky. Kontajnery obsahujú všetko potrebné na spustenie aplikácie, vrátane knižníc, kódu, závislostí a runtime.
Kontajnery izolujú aplikácie do jednotiek, čo im umožňuje konzistentne bežať v rôznych prostrediach. Kontajnery vám umožňujú spravovať aplikácie vo vývojových a produkčných prostrediach bez toho, aby sa vyskytli chyby. Existujú veľa prípadov použitia kontajnerov ktoré môžete preskúmať.
Kontajnery Docker majú podrobnosti, ako je ID kontajnera, obrázok a základný operačný systém. Môžete tiež vidieť runtime, stav a názov kontajnera. Ak chcete zobraziť zoznam všetkých kontajnerov vo vašom systéme, použite nasledujúci príkaz:
docker container ls
Zobrazia sa podrobnosti o všetkých bežiacich kontajneroch:
Môžete tiež použiť docker ps na zobrazenie všetkých spustených kontajnerov. A kontrola kontajnera docker [container ID] na zobrazenie obsahu nádoby.
4. Dockerfile
Dockerfile je dokument, ktorý špecifikuje pokyny na vytvorenie obrazu Docker. Súbor špecifikuje základný obraz, kód aplikácie a súbory potrebné na vytvorenie obrazu.
Súbor obsahuje aj premenné prostredia a príkazy na vytvorenie obrazu. Dockerfile môžete vytvoriť ako každý iný súbor. Pokyny pre súbor musíte zadať pomocou syntaxe, ktorej Docker rozumie. Nasleduje príklad vzorového súboru Dockerfile:
5. Docker Compose
Docker Compose je nástroj na definovanie a spustenie viackontajnerových aplikácií Docker. Všetky služby nakonfigurujete v súbore YAML. Súbor YAML je dokument, v ktorom špecifikujete potrebné služby pre vašu aplikáciu. Potom môžete vytvoriť a spustiť všetky služby pomocou jediného príkazu.
Docker Compose dokáže spúšťať aplikácie v rôznych prostrediach. Môžu to byť produkčné, prípravné, vývojové alebo testovacie prostredia. Docker Compose zjednodušuje zložitý proces usporiadania viacerých kontajnerov.
Docker Compose môžete použiť na správu aplikácie počas jej životného cyklu. To môže zahŕňať spustenie, zastavenie a prebudovanie služieb. Môžete tiež zobraziť stav spustených služieb, streamovať výstup protokolu a spúšťať príkazy v službe.
Pomocou Docker Compose môžete konfigurovať siete, spravovať zväzky a špecifikovať závislosti. Aplikácie môžete škálovať aj horizontálne v produkcii zadaním replikačných služieb.
Compose zjednodušuje nasadenie zložitých aplikácií do rôznych prostredí. Môžete ho tiež použiť na replikáciu rovnakého prostredia v rôznych systémoch. Naučte sa používať Docker Compose môže zvýšiť efektivitu vašej aplikácie.
Tu je príklad súboru YAML Docker Compose:
6. Docker Hub
Docker Hub je online register kontajnerov pre Docker. Keďže ide o najväčší register kontajnerov, je to nástroj na spoluprácu pre vývojárov a prispievateľov s otvoreným zdrojom. Je to tiež vynikajúci trh pre predajcov softvéru.
Docker Hub je dôveryhodný zdroj na nájdenie spoľahlivého virtualizačného softvéru. Môžete vytvoriť úložisko a zdieľať viac ako 100 000 obrázkov.
Môžeš hostiť vaše aplikácie a kód na platforme. Na projektoch môžete spolupracovať aj s inými vývojármi. Docker Hub má bezplatnú verejnú možnosť alebo platené súkromné repozitáre pre konkrétne autorizované tímy.
7. Docker Networking
Docker networking je funkcia, ktorá umožňuje kontajnerom komunikovať medzi sebou a externými zdrojmi. Siete poskytujú riadenú a izolovanú komunikáciu medzi kontajnermi. Môžu to byť kontajnery bežiace na jednom alebo viacerých hostiteľoch.
Keď na svojom počítači spustíte kontajner, nie je vystavený vonkajším sieťam. Porty používate na vystavenie kontajnerov externým IP adresám, službám DNS, smerovacím tabuľkám a internetovým bránam.
Sieťové prepojenie umožňuje kontajnerom fungovať v izolovaných sieťových prostrediach. Siete poskytujú menné priestory a IP adresy, čím sa znižuje konflikt kontajnerov a zvyšuje sa bezpečnosť.
8. Docker Volumes
V Dockeri sú zväzky mechanizmom, ktorý sa používa na ukladanie trvalých údajov. Kontajnery sú efemérne. To znamená, že je ľahké ich nahradiť alebo zničiť so všetkými údajmi. Existujú však prípady, kedy by ste chceli údaje ponechať. V takýchto prípadoch môžete na správu trvalých údajov použiť zväzky Docker.
Zväzky majú aj iné využitie vrátane umožnenia zdieľania údajov medzi kontajnermi. V porovnaní s inými formami úložiska sa dajú ľahko zálohovať a migrovať. Okrem toho môžete spravovať zväzky pomocou rozhrania Docker CLI alebo API.
Ak spustíte kontajner bez zväzku, Docker ho automaticky vytvorí. Môžete tiež vytvárať a spravovať zväzky izolované z akýchkoľvek kontajnerov. Na vytvorenie zväzku použite nasledujúci príkaz.
docker volume create my-vol
Ak chcete zobraziť zväzok, ktorý ste vytvorili, spustite nasledujúci príkaz:
docker volume ls //local my-vol
Potom môžete zväzky pripojiť k ľubovoľnému kontajneru, ktorý chcete. Viac o zväzkoch si môžete prečítať na Docker oficiálna dokumentácia.
Ďalšie funkcie Docker
Docker je jednou z najlepších možností pre správu kontajnerov a kontrolu verzií. Ak sa naučíte sadu nástrojov Docker, môžete zlepšiť a zefektívniť svoj vývojový pracovný postup.
Docker má veľa funkcií, ktoré môžete použiť na správu aplikácií. Po zvládnutí kľúčových funkcií môžete preskúmať ďalšie komplexné funkcie, ako je Docker Swarm, ktorý sa používa na organizovanie zložitých aplikácií.