Výukový program pre Docker - úvod do Dockeru a kontajnerizácie



V tomto tutoriáli Docker pochopíte nevyhnutnosť, ktorá stojí za Dockerom, a získate úvod do Dockeru. Je to prvý blog v sérii tutoriálov Docker

Dúfam, že vám neunikla séria starších blogov DevOps Tutorial. Prejdite cez tu.Nekontrolovateľný trend kontajnera Docker rastie a organizácie hľadajú profesionálov, ktorí ich majú .Teraz vás prevedieme úvodom do Dockeru.

Výukový program pre Docker

Tento blog Docker Tutorial vám poskytne koncepčné a praktické vysvetlenie k Docker - technológii kontajnerizácie New Age.





V tomto blogu sa zameriame na nasledujúce témy:

  • Čo je to virtualizácia?
  • Čo je to kontajnerizácia
  • Výhody kontajnerovania oproti virtualizácii
  • Úvod do Dockeru
  • Výhody Dockeru
  • Virtualizácia vs kontajnerizácia
  • Inštalácia Dockeru
  • Dockerfile, Docker Image & Docker Container
  • Čo je Docker Hub?
  • Docker Architecture
  • Docker Compose

Docker si získava popularitu a jeho využitie sa šíri ako blesk. Dôvodom rastúcej popularity Dockeru je rozsah, v akom sa dá použiť v IT organizácii. Len veľmi málo nástrojov má funkcie, ktoré sa považujú za užitočné pre vývojárov aj správcov systému. Docker je jeden taký nástroj, ktorý skutočne plní svoj prísľub Stavať , Loď a Bež .



Jednoducho povedané, Docker je platforma pre softvérovú kontajnerizáciu, čo znamená, že môžete zostaviť svoju aplikáciu, zabaliť ich spolu s ich závislosťami do kontajnera a tieto kontajnery je potom možné ľahko odoslať na ďalšie počítače.

Napríklad: Uvažujme o aplikácii založenej na linuxe, ktorá bola napísaná v jazykoch Ruby aj Python. Táto aplikácia vyžaduje konkrétnu verziu linuxu, Ruby a Pythonu. Aby sa zabránilo konfliktom verzií na konci používateľa, je možné vytvoriť kontajner linuxového doku s nainštalovanými požadovanými verziami Ruby a Python spolu s aplikáciou. Koncoví používatelia teraz môžu aplikáciu ľahko používať spustením tohto kontajnera bez obáv o závislosti alebo konflikty verzií.

Tieto kontajnery používajú kontajnerizáciu, ktorú je možné považovať za vyvinutú verziu virtualizácie. Rovnakú úlohu je možné dosiahnuť aj pomocou Virtual Machines, nie je to však veľmi efektívne.



V tejto chvíli dostávam otázku, aký je rozdiel medzi virtualizáciou a kontajnerovaním? Tieto dva pojmy sú si navzájom veľmi podobné. Najprv vám teda poviem Čo je to virtualizácia?

Čo je to virtualizácia?

Virtualizácia je technika importu hosťovského operačného systému do hostiteľského operačného systému. Táto technika bola na začiatku odhalením, pretože umožňovala vývojárom spúšťať viac operačných systémov na rôznych virtuálnych strojoch, ktoré bežali na rovnakom hostiteľovi. To eliminovalo potrebu ďalších hardvérových zdrojov. Výhody virtuálnych strojov alebo virtualizácie sú:

  • Na jednom stroji môže bežať viac operačných systémov
  • Údržba a zotavenie boli v prípade poruchových stavov jednoduché
  • Celkové náklady na vlastníctvo boli tiež nižšie v dôsledku zníženej potreby infraštruktúry

Architektúra virtuálneho stroja - Výukový program pre Docker - Úvod do programu Docker - Edureka

Na diagrame vpravo môžete vidieť, že existuje hostiteľský operačný systém, na ktorom sú spustené 3 hosťujúce operačné systémy, čo nie je nič iné ako virtuálne stroje.

Ako viete, že nič nie je dokonalé, virtualizácia má aj určité nedostatky. Spustenie viacerých virtuálnych strojov v rovnakom operačnom systéme hostiteľa vedie k zníženiu výkonu. Je to spôsobené tým, že hosťujúci OS beží nad hostiteľským OS, ktorý bude mať svoje vlastné jadro a sadu knižníc a závislostí. To zaberá veľkú časť systémových prostriedkov, teda pevný disk, procesor a najmä RAM.

Ďalším problémom Virtual Machines, ktoré využívajú virtualizáciu, je to, že bootovanie trvá takmer minútu.To je veľmi dôležité v prípade aplikácií v reálnom čase.

Nasledujú nevýhody virtualizácie:

  • Spustenie viacerých virtuálnych strojov vedie k nestabilnému výkonu
  • Hypervisori nie sú tak efektívni ako hostiteľský operačný systém
  • Proces bootovania je dlhý a vyžaduje čas

Tieto nevýhody viedli k vzniku novej techniky nazývanej kontajnerizácia. Teraz vám poviem niečo o kontajnerizácii.

Čo je to kontajnerizácia?

Kontejnerizácia je technika prenosu virtualizácie na úroveň operačného systému. Zatiaľ čo virtualizácia prináša abstrakciu hardvéru, Containerization prináša abstrakciu operačnému systému. Upozorňujeme, že kontajnerizácia je tiež typom virtualizácie. Kontajnerizácia je však efektívnejšia, pretože tu nie je hosťujúci operačný systém a využíva operačný systém hostiteľa, na rozdiel od virtuálnych strojov podľa potreby zdieľa príslušné knižnice a zdroje. Na hostiteľskom jadre bežia binárne súbory a knižnice kontajnerov špecifické pre danú aplikáciu, vďaka čomu je spracovanie a vykonávanie veľmi rýchle. Aj naštartovanie kontajnera trvá len zlomok sekundy. Pretože všetky kontajnery zdieľajú, hostuje operačný systém a obsahuje iba binárne súbory a knižnice súvisiace s aplikáciou. Sú ľahké a rýchlejšie ako Virtual Machines.

Výhody kontajnerovania oproti virtualizácii:

  • Kontajnery na rovnakom jadre OS sú ľahšie a menšie
  • Lepšie využitie zdrojov v porovnaní s virtuálnymi počítačmi
  • Proces bootovania je krátky a trvá niekoľko sekúnd

Na diagrame vpravo je vidieť, že existuje hostiteľský operačný systém, ktorý je zdieľaný všetkými kontajnermi. Kontajnery obsahujú iba knižnice špecifické pre aplikáciu, ktoré sú pre každý kontajner samostatné a sú rýchlejšie a nepremrhajú žiadne prostriedky.

Všetky tieto kontajnery spracováva kontajnerizačná vrstva, ktorá nie je natívna pre hostiteľský operačný systém. Preto je potrebný softvér, ktorý vám umožní vytvárať a spúšťať kontajnery na vašom hostiteľskom operačnom systéme.

Pozrite sa na toto video s tutoriálom pre Docker, kde získate dôkladné pochopenie Dockeru.

Výukový program pre docker pre začiatočníkov Čo je Docker? | Nástroje DevOps Edureka

Teraz vám ukážem úvod do Dockeru.

Výukový program pre Docker - Úvod do Dockeru

Docker je platforma pre kontajnerizáciu, ktorá balí vašu aplikáciu a všetky jej závislosti vo forme kontajnerov, aby sa zabezpečilo, že vaša aplikácia bude fungovať bezproblémovo v akomkoľvek prostredí.

Ako vidíte na diagrame vpravo, každá aplikácia bude bežať na samostatnom kontajneri a bude mať svoju vlastnú sadu knižníc a závislostí. To tiež zaisťuje, že existuje izolácia na úrovni procesu, čo znamená, že každá aplikácia je nezávislá od iných aplikácií, čo dáva vývojárom istotu, že môžu vytvárať aplikácie, ktoré si nebudú navzájom prekážať.

Ako vývojár môžem vytvoriť kontajner, v ktorom sú nainštalované rôzne aplikácie, a dať ho môjmu tímu QA, ktorý bude musieť kontajner iba spustiť, aby replikoval vývojárske prostredie.

premenlivá trieda v príklade java

Výhody Dockeru

Tím QA teraz nemusí na testovanie kódu inštalovať všetok závislý softvér a aplikácie, čo im pomáha ušetriť veľa času a energie. To tiež zaisťuje, aby bolo pracovné prostredie konzistentné vo všetkých jednotlivcoch zapojených do procesu, od vývoja po nasadenie. Počet systémov je možné ľahko zväčšiť a ľahko na nich nasadiť kód.

Virtualizácia vs kontajnerizácia

Virtualizácia a kontajnerizácia umožňujú prevádzkovať na hostiteľskom počítači viac operačných systémov.

Virtualizácia sa zaoberá vytváraním mnohých operačných systémov v jednom hostiteľskom počítači. Kontajnerizácia na druhej strane vytvorí viac kontajnerov pre každý typ aplikácie podľa potreby.

Obrázok: Čo je analýza veľkých dát - virtualizácia verzus kontajnerizácia

Ako vidíme z obrázku, hlavným rozdielom je, že vo virtualizácii existuje viac hosťujúcich operačných systémov, ktoré v kontajnerizácii chýbajú. Najlepšie na tom je, že je veľmi ľahký v porovnaní s náročnou virtualizáciou.

Teraz si nainštalujme Docker.

Nainštalujte Docker:

Inštalujem Docker do svojho počítača s Ubuntu 17.10. Nasledujú kroky na inštaláciu Dockeru:

  1. Nainštalujte požadované balíčky
  2. Nastaviť úložisko Docker
  3. Nainštalujte Docker na Ubuntu

1. Nainštalujte požadované balíčky:

Vo vašom systéme existujú určité balíčky, ktoré potrebujete na inštaláciu Dockeru. Vykonajte nasledujúci príkaz na inštaláciu týchto balíkov.

sudo apt-get install curl apt-transport-https ca-certifikáty software-vlastnosti-bežné

sort () c ++

2. Nastaviť úložisko Docker:

Teraz naimportujte oficiálny kľúč GPG Dockers, aby ste pred inštaláciou pomocou apt-get overili podpis balíkov. Spustite nasledujúci príkaz na termináli:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key pridať

Teraz pridajte do svojho systému Ubuntu úložisko Docker, ktoré obsahuje balíčky Docker vrátane jeho závislostí, ktoré vykonajú nasledujúci príkaz:

sudo add-apt-repository 'deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) stabilný'

3. Nainštalujte Docker na Ubuntu:

Teraz musíte aktualizovať apt index a nainštalovať komunitné vydanie Docker, aby ste mohli vykonať nasledujúce príkazy:

sudo apt-get aktualizácia sudo apt-get nainštalovať docker-ce

Blahoželáme! Úspešne ste nainštalovali Docker. Skontrolujte tiež niekoľko bežne používaných Príkazy Dockera .

Teraz sa pozrime na niekoľko dôležitých konceptov Dockeru.

Dockerfile, Docker Image a Docker Container:

  1. Obrázok Dockera sa vytvára postupnosťou príkazov napísaných v súbore s názvom Dockerfile.
  2. Keď sa tento súbor Docker vykoná pomocou príkazu docker, výsledkom bude obrázok Dockeru s názvom.
  3. Keď je tento obrázok vykonaný príkazom „docker run“, sám od seba spustí akúkoľvek aplikáciu alebo službu, ktorú musí pri svojom spustení spustiť.

Docker Hub:

Docker Hub je ako GitHub pre Docker Images. Je to v podstate cloudový register, kde nájdete obrázky Docker nahrané rôznymi komunitami, tiež si môžete vytvoriť svoj vlastný obraz a nahrávať na Docker Hub, ale najskôr si musíte vytvoriť účet na DockerHub.

Docker Architecture:

Skladá sa z Docker Engine, čo je aplikácia typu klient-server s tromi hlavnými komponentmi:

  1. Server, ktorý je typom dlho bežiaceho programu nazývaného proces démona (príkaz docker).
  2. REST API, ktoré špecifikuje rozhrania, ktoré môžu programy používať na komunikáciu s démonom a na pokyny, čo majú robiť.
  3. Klient rozhrania príkazového riadku (CLI) (príkaz docker).
  4. CLI používa Docker REST API na riadenie alebo interakciu s démonom Docker prostredníctvom skriptovania alebo priamych príkazov CLI. Mnoho ďalších aplikácií Docker používa základné rozhranie API a CLI.

Ak sa chcete dozvedieť viac, prečítajte si tento blog .

Nakoniec v tomto blogu Docker Tutorial budem hovoriť o Docker Compose.

Docker Compose:

Docker Compose sa v podstate používa na spustenie viacerých kontajnerov Docker ako jeden server. Uvediem príklad:

Predpokladajme, že ak mám aplikáciu, ktorá vyžaduje WordPress, Maria DB a PHP MyAdmin. Môžem vytvoriť jeden súbor, ktorý by spustil oba kontajnery ako službu bez nutnosti spúšťať každý osobitne. Je to naozaj užitočné, najmä ak máte architektúru mikroslužieb.

Pozri môj blog na Kontajner Docker pochopiť, ako to prakticky vykonať.

Môžete si tiež prečítať tento blog o tom, ako môžete pomocou aplikácie Docker Compose kontajnerovať aplikáciu priemerného zásobníka.

Týmto sa dostávame ku koncu prvého blogu Docker Tutorial venovaného Úvodu do Docker & kontajnerovania.

Prejdite si náš ďalší blog v Docker:

Teraz, keď ste pochopili, čo je DevOps, pozrite sa na naše autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Certifikačný vzdelávací kurz Edureka DevOps pomáha študentom získať odborné znalosti v rôznych procesoch a nástrojoch DevOps, ako sú Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack a GIT na automatizáciu viacerých krokov v SDLC.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov a my sa vám ozveme.