Späť na blog

Inštalácia Docker Compose na CentOS 7

Inštalácia Docker Compose na CentOS 7

Dockerizácia predefinovala proces nasadenia a automatizácie v softvérovom priemysle. Od svojho vzniku sa Docker tím neustále snažil o to, aby bolo automatizované nasadenie bezproblémové. Technológia kontajnerizácie nielenže umožňuje rýchly vývoj aplikácií a efektivitu, ale šetrí aj čas a namáhavé úsilie. Bezkonkurenčné funkcie, ako je orchestrácia, definovanie a spúšťanie aplikácií s viacerými kontajnermi, robia z Dockeru obľúbenú voľbu pre vývojárov.

Docker kontajnery a obrazy

Keď sa ponoríte do hlbšieho porozumenia Dockeru, je nevyhnutné zopakovať si základy. Pochopenie toho, ako Docker funguje, môže byť zložité, ak s ním nemáte žiadne skúsenosti. V tejto časti si definujeme niekoľko pojmov, ktoré sú pre začiatočníkov kľúčové. Ak si myslíte, že ste s týmito pojmami oboznámení, pokojne ich preskočte a prejdite na ďalšiu časť. Môžete sa tiež pozrieť na nášho komplexného sprievodcu, ktorý vysvetľuje základné koncepty Dockeru.

  • Docker obrazy

Docker obrazy sú kolekciou súborov určených len na čítanie. Po vytvorení Docker obrazov ich nemôžete upravovať, hoci je možné ich vymazať. Docker obraz používame na vytvorenie jedného alebo viacerých Docker kontajnerov podľa našich potrieb. Ak chcete skontrolovať počet obrazov spustených vo vašom systéme, použite príkaz:

Keď sťahujete obrazy zo vzdialeného registra, ako je Docker Hub, sťahujete súbory a priečinky. Na stiahnutie obrazu použite príkaz:

  • Docker kontajnery

Docker obrazy sú predlohou pre Docker kontajnery. Technicky je Docker kontajner inštanciou Docker obrazu. Predstavte si, že ak je Docker obraz ako rodič, potom Docker kontajner je dieťa. Na rozdiel od Docker obrazov, ktoré môžete vytvoriť raz, môžete pomocou jedného obrazu vytvoriť viacero kontajnerov. Ak chcete skontrolovať zoznam obrazov spustených vo vašom systéme, použite príkaz:

Na stiahnutie kontajnera použite nasledujúci príkaz:

  • Ako fungujú Docker obrazy a kontajnery

Docker obrazy a kontajnery spolupracujú ruka v ruke, aby naplno využili potenciál Dockeru. Jediný kontajner sa vytvára z Docker obrazu pomocou príkazu run. Keď vytvoríte Docker kontajner, vytvorí sa nová vrstva známa ako Container Layer (vrstva kontajnera). Novo vytvorená vrstva obsahuje aplikáciu a jej závislosti. Každý vytvorený kontajner má inú vrstvu Container Layer na čítanie/zápis a všetky zmeny vykonané v Docker kontajneri sa automaticky prejavia v tejto vrstve Container Layer. Nezabudnite, že ak sa rozhodnete kontajner vymazať, prídete aj o vrstvu Container Layer.

Zoznámte sa s Docker Compose

Docker Compose je nástroj na správu kontajnerov, ktorý vám umožňuje konfigurovať a orchestrálne riadiť všetky vaše Docker kontajnery do jedného YAML súboru. Spúšťanie, zastavovanie a vytváranie prepojení a zväzkov (volumes) medzi kontajnermi je s týmto nástrojom oveľa jednoduchšie.

  • Čo robí Docker Compose?

Zjednodušene povedané, Docker Compose uľahčuje zložité úlohy tým, že odstraňuje konflikty a organizačné problémy. Umožňuje používateľom spravovať rôzne Docker kontajnery centrálne. Inými slovami, namiesto toho, aby boli všetky služby v jednom veľkom kontajneri, Docker Compose rozdelí službu na viacero služieb, aby k nim používatelia mali jednoduchý prístup a mohli ich bez námahy spravovať.

In tejto príručke, vás prevedieme krokmi inštalácie aktuálnej verzie Docker Compose na správu aplikácií s viacerými kontajnermi na systéme CentOS 7. Prejdeme si tiež niekoľko základných príkazov, ktoré potrebujete na úspešné používanie tohto softvéru.

  • Ako používať Docker Compose

Používanie Docker Compose je mimoriadne jednoduché, dokonca aj pre nováčikov. Pozrime sa na trojkrokový proces, ktorý zahŕňa Docker Compose:

1. Zostavenie: Najprv zostavte obrazy v súbore Dockerfile podľa potrieb vášho projektu, prípadne ich stiahnite z registra.

2. Definovanie: Ďalej musíte definovať všetky komponentné služby v súbore compose.yml.

3. Spustenie: Po definovaní komponentov je čas na ich spustenie pomocou príkazu docker-compose.

Požiadavky

Predtým, ako pristúpime k inštalácii Docker Compose na váš server CentOS, uistite sa, že máte:

Teraz ste pripravení. Ďalej postupujte podľa nižšie uvedených krokov na inštaláciu Docker Compose na CentOS 7.

Krok 1: Inštalácia Docker Compose

Ak chcete získať najnovšiu verziu Docker Compose, postupujte podľa pokynov v dokumentácii k Dockeru a stiahnite si binárne súbory z GitHub repozitára Docker’u. Spustením nižšie uvedeného príkazu skontrolujte, či máte najnovšiu verziu softvéru:

Ak chcete spustiť binárny súbor, nastavte nižšie uvedené oprávnenia:

Ďalej vyhľadajte svoju verziu a skontrolujte, či bola inštalácia úspešná:

Nižšie uvedený kód vytlačí nainštalovanú verziu:

docker-compose --version

Potom môžete spustiť príklad “Hello World” pomocou nainštalovaného Docker Compose.

Krok 2: Použitie Docker Compose na spustenie kontajnera

V Docker Hub, verejnom registri Docker, sa nachádza obraz “Hello World”, ktorý možno použiť na demonštráciu a testovanie. Ukazuje, ako spustiť kontajner pomocou Docker Compose s minimálnou konfiguráciou. Najprv musíte vytvoriť adresár pre náš súbor YAML:

Ďalej sa presuňte do tohto adresára:

Potom pomocou preferovaného textového editora vygenerujte súbor YAML. V tomto návode použijeme Vi:

Stlačte i pre prechod do režimu vkladania, potom do súboru napíšte toto:

Do názvu kontajnera sa začlení prvý riadok. Druhý riadok inštruuje program, ktorý obraz má použiť na vytvorenie kontajnera. docker-composeup bude hľadať lokálny obraz s názvom hello-world na overenie jeho dostupnosti po zadaní príkazu. Ak chcete ukončiť režim vkladania, stlačte ESC. Potom zadajte :x a stlačte ENTER pre uloženie a ukončenie súboru. Príkaz docker images sa dá použiť na manuálnu kontrolu obrazov vo vašom počítači:

Ak neexistujú žiadne lokálne obrazy, zobrazia sa iba hlavičky stĺpcov:

Docker Compose on CentOS 6

Ak chcete vytvoriť kontajner, spustite tento príkaz, kým ste stále v adresári /hello-world:

Keď spustíte príkaz prvýkrát a neexistuje lokálny obraz s názvom hello-world, stiahne sa z repozitára Docker Hub:

sudo docker-compose up

Aby sa zabezpečilo, že inštalácia funguje, Docker Compose stiahne obraz, vytvorí kontajner, pripojí ho a spustí program hello:

hello program

Potom sa zobrazí výpis s popisom toho, čo sa vykonalo:

Docker Compose on CentOS 3

Keď hello dokončí svoju úlohu, kontajner sa vypne a príkaz už v kontajneri nepobeží. Pri pohľade na aktívne procesy sa zobrazia hlavičky stĺpcov. Kontajner hello-world však nebude uvedený v zozname, pretože momentálne nebeží:

sudo docker ps

Ak chcete zobraziť všetky kontajnery, nielen tie aktuálne, použite príznak -a :

Docker Compose 2

Teraz, keď ste si vyskúšali spustenie kontajnera, môžete prejsť k spoznávaniu niektorých základných príkazov Docker Compose.

Krok 3: Príkazy Docker Compose

Aby sme vám pomohli začať s Docker Compose, táto časť prejde základné príkazy, ktoré poskytuje nástroj docker-compose. docker-compose je príkaz, ktorý funguje na báze jednotlivých adresárov. Vygenerovaním jedného adresára pre každý kontajner a jedného súboru docker-compose.yml na adresár môžete na tom istom počítači spustiť mnoho skupín kontajnerov Docker.

Doteraz ste spúšťali Docker Compose samostatne. Môžete ho vypnúť stlačením Ctrl-C. To umožní oknu terminálu zobrazovať ladiace správy. Pri prevádzke v produkcii sa však odporúča spustiť docker-compose ako službu. Možnosť -d sa dá použiť ako jednoduchý spôsob, ako to dosiahnuť:

Teraz sa docker-compose presunie na pozadie. Vašu skupinu kontajnerov Docker (či už zastavených alebo spustených) môžete spravovať pomocou nasledujúceho príkazu:

Stav (State) kontajnera sa nahlási ako Exited, ak je zastavený, ako je vidieť v príklade nižšie:

Docker Compose on CentOS 5

Kontajner, ktorý momentálne beží, zobrazí:

Môžete ukončiť všetky spustené kontajnery Docker v rovnakom adresári, v ktorom sa nachádza súbor docker-compose.yml, ktorý ste použili na spustenie skupiny Docker:

Poznámka: Ak potrebujete veci vypnúť ráznejšie, k dispozícii je aj docker-compose kill.

V niektorých prípadoch si kontajnery Docker môžu uložiť svoje staré dáta vo vnútri. Ak chcete začať od nuly, použite príkaz rm na odstránenie všetkých kontajnerov z vašej skupiny kontajnerov:

Spustenie ktoréhokoľvek z týchto príkazov z iného adresára, než v ktorom je umiestnený kontajner Docker a súbor .yml, bude mať za následok chybové hlásenie:

V tejto časti sme prebrali základy manipulácie s kontajnermi pomocou Docker Compose. Ako už bolo spomenuté, v nasledujúcej časti môžete pristupovať k súborovému systému Docker a spúšťať príkazy z príkazového riadku vo vnútri kontajnera, ak potrebujete dodatočnú kontrolu nad svojimi kontajnermi.

Krok 4: Prístup k súborovému systému kontajnera Docker

Je možné spustiť príkazový riadok v kontajneri a pristupovať k súborovému systému kontajnera pomocou docker exec, čo je nástroj príkazového riadku. Ako príklad spustite “Hello World” a uvidíte, ako dlho trvá dokončenie príkazu docker exec. Pre účely tohto návodu môžete použiť obraz Nginx z Docker Hub. Vytvorte nový adresár s názvom nginx a prejdite doň:

Teraz by ste mali mať súbor docker-compose.yml, ktorý môžete otvoriť v textovom editore:

Potom do súboru pridajte nasledujúce:

Je čas ukončiť aplikáciu. Na spustenie kontajnera Nginx na pozadí použite nasledujúci príkaz:

Docker Compose on CentOS 1

Docker Compose stiahne obraz Nginx a spustí kontajner na pozadí. Ak chcete pokračovať, budete musieť zadať CONTAINER ID kontajnera.  Všetky momentálne spustené kontajnery si môžete zobraziť pomocou nasledujúceho príkazu:

Uvidíte nasledujúce:

 Docker Compose on CentOS 4

Ak by ste chceli zmeniť súborový systém vo vnútri tohto kontajnera pomocou docker exec, použili by ste jedinečné ID kontajnera (v tomto prípade f139d0d78ca7) na vytvorenie shellu v kontajneri:

sudo docker exec -it

Interaktívny terminál je možné otvoriť pomocou voľby -t, zatiaľ čo /bin/bash poskytuje kontajneru bash shell. Toto je výzva bashu, ktorú potom uvidíte pre kontajner:

Vo vnútri svojho kontajnera nájdete príkazový riadok. Reštartovanie kontajnera prepíše všetky zmeny, ktoré ste vykonali, pokiaľ nepracujete v adresári, ktorý bol uložený ako súčasť dátového zväzku. Ak ste zvyknutí pracovať s nástrojmi príkazového riadka systému Linux, mali by ste vedieť, že väčšina obrazov Docker sa vytvára pomocou najzákladnejších inštalácií systému Linux.

Záver

Prešli sme s vami krokmi inštalácie aktuálnej verzie Docker Compose na správu aplikácií s viacerými kontajnermi v systéme CentOS 7. Schopnosť nástroja Docker Compose súčasne spustiť a vypnúť veľké množstvo kontajnerov je pôsobivá. Prechod od šablón k aplikáciám trvá len niekoľko minút. Ak teda vaša práca zahŕňa spúšťanie viacerých kontajnerov naraz, zostať pri Docker Compose je skvelá voľba. Nie je to však univerzálne riešenie pre každého. V závislosti od vašich konkrétnych potrieb môžete nájsť aj lepšie možnosti, napríklad Kubernetes.

Ak chcete ďalej preskúmať možnosti nástroja Docker Compose, môžete si prečítať tieto návody z nášho blogu:

Príjemnú prácu s počítačom!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.