Späť na blog

Inštalácia a nastavenie Dockeru na CentOS 7

Inštalácia a nastavenie Dockeru na CentOS 7

Úvod

Docker je platforma, ktorá uľahčuje spúšťanie a správu aplikačných procesov v kontajneroch. Poskytuje spôsob, ako oddeliť vaše aplikácie od vašej infraštruktúry. Kontajnery sú veľmi podobné virtuálnym strojom, ale sú prenosnejšie, efektívnejšie a ľahšie sa používajú. Existujú rôzne spôsoby, ako nainštalovať Docker na Linux distribúciách. Najpopulárnejší a najjednoduchší spôsob inštalácie Dockera na existujúci operačný systém je pomocou príkazov yum.

Tento návod vám ukáže, ako môžete nastaviť a používať Docker na CentOS 7 v niekoľkých jednoduchých krokoch.

Požiadavky:

Všetky príkazy, ktoré vykonáte v tomto návode, sa spúšťajú ako používateľ bez oprávnení root a v prípade potreby bude prístup root poskytnutý pomocou kľúčového slova sudo.

Krok 1: Nastavenie Dockera na inštancii CentOS 7

Oficiálny repozitár CentOS 7 nemusí obsahovať najnovší inštalačný balík pre Docker. V tejto časti budete inštalovať najnovšiu verziu Dockera z oficiálneho repozitára Docker. Najprv musíte aktualizovať databázu balíkov pomocou:

Po dokončení kroku aktualizácie spustite nižšie uvedený príkaz na stiahnutie a inštaláciu najnovšej verzie Dockera:

Docker je teraz nainštalovaný, takže môžete spustiť démona Docker spustením nižšie uvedeného príkazu:

Ak chcete overiť, či démon Docker beží, zadajte nasledovné:

Výstup príkazu systemctl status by mal byť podobný nižšie zdieľanému výstupu, ktorý ukazuje, že beží:

Nakoniec, aby ste sa uistili, že sa Docker spustí pri reštarte počítača, použite príkaz:

Inštalácia Dockera vám poskytne službu Docker, ako aj klientsky nástroj (klientsky príkazový riadok Docker). V nasledujúcich častiach návodu si budete môcť vyskúšať prácu s príkazmi Docker v praxi.

Môžete si tiež pozrieť náš podrobný návod, ako nainštalovať & prevádzkovať Docker na Ubuntu vo verejnom cloude.

Krok 2: Používanie príkazov Docker bez predpony Sudo

Príkazy Docker vyžadujú na spustenie oprávnenia root. Ak teda chcete spustiť príkazy, budete pred ne musieť pridať predponu sudo. Počas inštalácie sa predvolene vytvorí skupina Docker. Ak pridáte používateľa do tejto skupiny, môžete spúšťať príkazy Docker bez sudo. Pokus o spustenie príkazov Docker bez sudo alebo bez pridania používateľa do skupiny bude mať za následok výstup podobný nižšie uvedenému:

Pridaním vášho používateľského mena do skupiny Docker zabezpečíte, že na spúšťanie príkazov Docker nebudete musieť používať sudo:

Ak chcete pridať iného používateľa do skupiny Docker, môžete jednoducho nahradiť používateľské meno v príkaze:

Vo zvyšku tejto príručky budeme predpokladať, že všetky príkazy vykonáva používateľ v skupine používateľov Docker. Ak tomu tak nie je, môžete s príkazmi použiť predponu sudo.

Krok 3: Spustenie príkazov Docker

Teraz, keď máte Docker nainštalovaný a spustený, pozrime sa na niekoľko príkazov, aby ste sa zoznámili s príkazovým riadkom Docker. Príkazy Docker majú zvyčajne túto formu:

Ak chcete nájsť všetky dostupné podpríkazy, mali by ste použiť:

K Docker 20.10.3, kompletný zoznam dostupných podpríkazov obsahuje:

Na získanie ďalších informácií o konkrétnom príkaze môžete použiť príznak –help:

Ak chcete získať podrobné informácie o systéme, použite:

Krok 4: Práca s obrazmi Docker

Obrazy Docker možno označiť za predlohu pre kontajnery Docker. Tieto obrazy sa zvyčajne sťahujú z Docker Hub, čo je register spravovaný projektom Docker. Ktokoľvek môže vytvárať a nahrávať svoje obrazy na Docker Hub. Vďaka tomu môžete v registri ľahko nájsť širokú škálu aplikácií a distribúcií operačných systémov. Vyskúšajme si jednoduchý program, ktorý potvrdí prístup k Docker Hubu:

Mali by ste dostať výstup ako nižšie, ktorý ukazuje, že Docker funguje:

Rôzne obrazy Docker môžete na Docker Hube nájsť pomocou príkazu search. Pozrite si napríklad nižšie uvedený príkaz na vyhľadanie obrazu CentOS:

Vyhľadávací dopyt zobrazí zoznam všetkých obrazov, ktoré sa zhodujú s podreťazcom. Vo vašom prípade by mal byť výstup nasledujúci:

Vo výsledkoch vyhľadávania sú rôzne stĺpce popisujúce informácie o obraze. OK v stĺpci OFFICIAL určuje, že obraz bol vytvorený a je podporovaný spoločnosťou, ktorá stojí za aplikáciou. Keď sa rozhodnete pre konkrétny obraz, môžete si ho stiahnuť do svojho lokálneho počítača pomocou príkazu Docker pull:

Po stiahnutí obrazu môžete spustiť kontajner pomocou príkazu Docker run. Ak sa pokúsite priamo spustiť obraz bez predchádzajúceho stiahnutia, Docker obraz najskôr stiahne a následne kontajner spustí:

Zoznam obrazov stiahnutých do vášho lokálneho počítača môžete zobraziť pomocou nasledujúceho príkazu:

Mali by ste dostať podobný výstup:

Neskôr v tomto návode budete môcť upravovať obrazy na spúšťanie kontajnerov. Tieto nové obrazy môžu byť pridané alebo odoslané (pushed) do Docker Hubu a iných registrov, ktoré hostujú Docker obrazy.

Krok 5: Interaktívne spustenie kontajnera

Existujú rôzne typy kontajnerov. Kontajner hello-world, ktorý ste spustili v Kroku 4 je typ kontajnera, ktorý sa spustí a po vypísaní správy sa ukončí. Ďalším typom kontajnera je interaktívny kontajner. Interaktívne kontajnery môžete používať podobným spôsobom ako virtuálny stroj.

Vytvorme kontajner z najnovšieho obrazu CentOS. Použitie príznakov -i a -t v príkaze Docker run poskytne interaktívny prístup ku kontajneru CentOS:

Príkazový riadok sa zmení a mal by vyzerať ako výstup nižšie:

Teraz sa akýkoľvek príkaz, ktorý vykonáte, spustí vo vnútri kontajnera. To je podobné ako spustenie príkazu vo virtuálnom stroji. Skúsme nainštalovať MySQL server v kontajneri CentOS. Môžete to urobiť pomocou:

Krok 6: Uloženie zmien v kontajneri do Docker obrazu

Po spustení kontajnera môžete vykonávať všetky operácie, ktoré sú uskutočniteľné v podobnom virtuálnom stroji, ako je vytváranie/úprava súborov alebo nastavenie aplikácie. Upozorňujeme, že tieto zmeny zostanú iba v tomto kontajneri a po zničení kontajnera sa vykonané zmeny stratia.

V tejto časti návodu sa naučíte, ako vytvoriť nový Docker obraz z kontajnera s vykonanými zmenami. Po Kroku 5 máte spustený kontajner CentOS s nainštalovaným MySQL serverom. Tento kontajner sa teraz líši od čistého obrazu CentOS. Tento stav kontajnera si môžete uložiť na ďalšie použitie. Najprv musíte kontajner ukončiť pomocou:

Uložte (commitnite) zmeny, ktoré ste v kontajneri vykonali, do nového Docker obrazu pomocou príkazu nižšie:

V príkaze -m označuje správu o uložení (commit message) a mala by v zásade popisovať vykonané zmeny, tag -a sa používa na uvedenie autora. Container-id je ID z Kroku 5, ktoré ste získali po spustení kontajnera v interaktívnom režime, a repozitár (repository) je zvyčajne vaše používateľské meno pre Docker Hub. Napríklad:

Teraz, keď je obraz uložený, príkaz docker images by mal zobraziť nový obraz, ako aj tie staré:

Výstup príkazu by mal byť podobný tomuto:

Ako vidno v príklade, nový obraz centos-mysql je vytvorený pomocou obrazu CentOS z Docker Hubu. Rozdiel vo veľkosti určuje, že boli vykonané určité zmeny. V tomto príklade to bolo pridanie MySQL servera do kontajnera. Nabudúce, ak budete potrebovať kontajner s MySQL serverom, stačí spustiť nový obraz a voila! Máte spustený kontajner CentOS s predinštalovaným MySQL serverom.

Krok 7: Správa Docker kontajnerov

Teraz, keď ste sa už s Dockerom oboznámili, po nejakom čase používania už máte nejaké spustené a nejaké neaktívne kontajnery. Ak chcete získať zoznam aktívnych kontajnerov, mali by ste použiť:

Mali by ste vidieť podobný výstup:

Ak chcete zobraziť zoznam aktívnych aj neaktívnych kontajnerov, mali by ste použiť príznak -a s príkazom:

Ak chcete nájsť posledný vytvorený kontajner, môžete použiť príznak -l:

Ak chcete zastaviť spustený/aktívny kontajner, spustite jednoduchý príkaz:

ID kontajnera (container-id) nájdete vo výstupe príkazu Docker ps.

Krok 8: Publikovanie obrazov do repozitára

Ďalším krokom po vytvorení nového obrazu je jeho zdieľanie s vašimi priateľmi. Môžete ho tiež sprístupniť celému svetu pomocou Docker Hub alebo akéhokoľvek iného registra. Pred odoslaním (push) obrazu sa musíte prihlásiť do príslušného registra.

V ďalšej časti návodu sa dozviete, ako odoslať (push) obrazy do Docker Hub. Najprv sa zaregistrujte na Docker Hub. Na odoslanie obrazu sa budete musieť prihlásiť do Docker Hub pomocou príkazu nižšie:

Po zadaní správneho hesla a úspešnom overení môžete svoj obraz odoslať. Na odoslanie obrazu použite nasledujúci príkaz:

Výstup príkazu bude podobný tomuto:

Po odoslaní obrazu by sa mal zobraziť na nástenke (dashboard) vášho účtu, ako je znázornené na obrázku nižšie:

docker account dashboard

V prípade zlyhania podobným spôsobom je pravdepodobné, že nie ste prihlásení:

Môžete sa prihlásiť a zopakovať pokus o odoslanie.

Záver

Existuje mnoho spôsobov, ako môžete Docker využiť. Tento návod by vám mal poskytnúť dostatok informácií na to, aby ste mohli začať. A keďže Docker je skutočne populárny projekt, veľa podrobností o jeho používaní, ako aj o rôznych prípadoch použitia nájdete na blogovej stránke projektu.

Môžete si tiež pozrieť naše ďalšie návody na Docker, aby ste sa dozvedeli viac o tom, čo všetko s ním môžete robiť:

Príjemnú prácu!

author

Pranay Kapgate

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ý.