Výukový program Docker - Úvod do Dockeru a kontejnerizace



V tomto výukovém programu Docker pochopíte nezbytnost Dockeru a získáte úvod do Dockeru. Jedná se o první blog v sérii tutoriálů Docker

Doufám, že vám neunikla řada dřívějších blogů DevOps Tutorial. Projděte tady.Nekontrolovatelný trend kontejneru Docker roste a organizace hledají profesionály .Tentokrát vás provedeme úvodem do Dockeru.

Výukový program Docker

Tento blog Docker Tutorial vám poskytne koncepční a praktické vystavení Docker - technologii kontejnerizace nového věku.





V tomto blogu se zaměříme na níže uvedená témata:

  • Co je to virtualizace?
  • Co je to kontejnerizace
  • Výhody kontejnerizace oproti virtualizaci
  • Úvod do Dockeru
  • Výhody Dockeru
  • Virtualizace vs kontejnerizace
  • Instalace Dockeru
  • Dockerfile, Docker Image & Docker Container
  • Co je Docker Hub?
  • Docker Architecture
  • Docker Compose

Docker získává na popularitě a jeho využití se šíří jako blesk. Důvodem rostoucí popularity Dockeru je rozsah, v jakém jej lze použít v organizaci IT. Velmi málo nástrojů tam má funkce, které se považují za užitečné jak pro vývojáře, tak pro správce systému. Docker je jeden takový nástroj, který skutečně splňuje svůj slib Stavět , Loď a Běh .



Jednoduše řečeno, Docker je softwarová kontejnerizační platforma, což znamená, že můžete sestavit svou aplikaci, zabalit je spolu se svými závislostmi do kontejneru a tyto kontejnery lze potom snadno odeslat pro spuštění na jiných počítačích.

Například: Podívejme se na linuxovou aplikaci, která byla napsána v Ruby i Pythonu. Tato aplikace vyžaduje konkrétní verzi linuxu, Ruby a Pythonu. Aby nedocházelo ke konfliktům verzí na konci uživatele, lze vytvořit kontejner linuxového doku s nainstalovanými požadovanými verzemi Ruby a Pythonu spolu s aplikací. Koncoví uživatelé nyní mohou aplikaci snadno používat spuštěním tohoto kontejneru bez obav o závislosti nebo konflikty verzí.

Tyto kontejnery používají kontejnerizaci, kterou lze považovat za vyvinutou verzi virtualizace. Stejného úkolu lze dosáhnout také pomocí Virtual Machines, není však příliš efektivní.



V tuto chvíli obecně dostávám otázku, tj. Jaký je rozdíl mezi virtualizací a kontejnerizací? Tyto dva pojmy jsou si navzájem velmi podobné. Nejprve vám tedy řeknu, co je virtualizace?

Co je to virtualizace?

Virtualizace je technika importu hostujícího operačního systému přes operační systém Host. Tato technika byla na začátku zjevením, protože umožňovala vývojářům spouštět více operačních systémů na různých virtuálních počítačích, které běží na stejném hostiteli. To eliminovalo potřebu dalších hardwarových prostředků. Výhody virtuálních strojů nebo virtualizace jsou:

  • Na stejném počítači může běžet více operačních systémů
  • Údržba a zotavení byly v případě poruch snadné
  • Celkové náklady na vlastnictví byly také nižší kvůli snížené potřebě infrastruktury

Virtual Machine Architecture - Docker Tutorial On Introduction To Docker - Edureka

V diagramu vpravo můžete vidět, že existuje hostitelský operační systém, na kterém běží 3 hostované operační systémy, což není nic jiného než virtuální stroje.

Jak víte, že nic není dokonalé, virtualizace má také některé nedostatky. Spuštění více virtuálních strojů ve stejném hostitelském operačním systému vede ke snížení výkonu. Důvodem je, že hostující OS běží nad hostitelským OS, který bude mít vlastní jádro a sadu knihoven a závislostí. To zabírá velkou část systémových prostředků, tj. Pevný disk, procesor a zejména RAM.

Dalším problémem Virtual Machines, které používají virtualizaci, je to, že spuštění trvá téměř minutu.To je velmi důležité v případě aplikací v reálném čase.

Níže jsou uvedeny nevýhody virtualizace:

  • Spuštění více virtuálních strojů vede k nestabilnímu výkonu
  • Hypervisory nejsou tak efektivní jako hostitelský operační systém
  • Proces spouštění je dlouhý a vyžaduje čas

Tyto nevýhody vedly ke vzniku nové techniky zvané Kontejnerizace. Nyní vám řeknu něco o kontejnerizaci.

Co je to kontejnerizace?

Kontejnerizace je technika přenesení virtualizace na úroveň operačního systému. Zatímco virtualizace přináší abstrakci hardwaru, Containerization přináší abstrakci operačnímu systému. Všimněte si, že kontejnerizace je také typ virtualizace. Kontejnerizace je však efektivnější, protože zde není hostující OS a využívá operační systém hostitele, sdílí příslušné knihovny a zdroje podle potřeby, na rozdíl od virtuálních strojů. Aplikačně specifické binární soubory a knihovny kontejnerů běží na hostitelském jádře, což umožňuje velmi rychlé zpracování a provádění. Dokonce i nastartování kontejneru trvá jen zlomek sekundy. Protože všechny kontejnery sdílejí, hostují operační systém a uchovávají pouze binární soubory a knihovny související s aplikací. Jsou lehké a rychlejší než Virtual Machines.

Výhody kontejnerizace oproti virtualizaci:

  • Kontejnery na stejném jádře OS jsou lehčí a menší
  • Lepší využití zdrojů ve srovnání s virtuálními počítači
  • Proces spouštění je krátký a trvá několik sekund

V diagramu vpravo můžete vidět, že existuje hostitelský operační systém, který je sdílen všemi kontejnery. Kontejnery obsahují pouze knihovny specifické pro aplikaci, které jsou pro každý kontejner samostatné a jsou rychlejší a neztrácejí žádné prostředky.

Všechny tyto kontejnery zpracovává kontejnerizační vrstva, která není nativní pro hostitelský operační systém. Proto je potřeba software, který vám umožní vytvářet a spouštět kontejnery na hostitelském operačním systému.

Podívejte se na toto výukové video Dockeru, kde získáte podrobné informace o Dockeru.

Výukový program Docker pro začátečníky Co je Docker? | Nástroje DevOps | Edureka

Nyní vás provedu úvodem do Dockeru.

Výukový program Docker - úvod do Dockeru

Docker je kontejnerizační platforma, která balí vaši aplikaci a všechny její závislosti společně ve formě kontejnerů, aby zajistila bezproblémovou práci vaší aplikace v jakémkoli prostředí.

Jak vidíte na obrázku vpravo, každá aplikace bude spuštěna v samostatném kontejneru a bude mít vlastní sadu knihoven a závislostí. To také zajišťuje, že existuje izolace na úrovni procesu, což znamená, že každá aplikace je nezávislá na jiných aplikacích, což dává vývojářům jistotu, že mohou vytvářet aplikace, které nebudou navzájem rušit.

Jako vývojář můžu postavit kontejner, který má nainstalované různé aplikace, a dát ho mému týmu QA, který bude muset kontejner pouze spustit, aby replikoval vývojářské prostředí.

c ++ třídění pole

Výhody Dockeru

Tým QA nyní nemusí k testování kódu instalovat veškerý závislý software a aplikace, což jim pomáhá ušetřit spoustu času a energie. To také zajišťuje, že pracovní prostředí je konzistentní napříč všemi jednotlivci zapojenými do procesu, od vývoje po nasazení. Počet systémů lze snadno škálovat a lze na ně snadno nasadit kód.

Virtualizace vs kontejnerizace

Virtualization and Containerization both you run run multiple operating systems inside a host machine.

Virtualizace se zabývá vytvořením mnoha operačních systémů v jednom hostitelském počítači. Kontejnerizace na druhé straně podle potřeby vytvoří více kontejnerů pro každý typ aplikace.

Postava: Co je analýza velkých dat - virtualizace versus kontejnerizace

Jak vidíme z obrázku, hlavní rozdíl spočívá v tom, že ve virtualizaci existuje několik hostovaných operačních systémů, které v kontejnerizaci chybí. Nejlepší částí kontejnerizace je, že je ve srovnání s těžkou virtualizací velmi lehká.

Nyní si nechme nainstalovat Docker.

Nainstalujte Docker:

Budu instalovat Docker do svého stroje Ubuntu 17.10. Následují kroky k instalaci Dockeru:

  1. Nainstalujte požadované balíčky
  2. Nastavit úložiště Docker
  3. Nainstalujte Docker na Ubuntu

1. Nainstalujte požadované balíčky:

Ve vašem systému jsou určité balíčky, které potřebujete k instalaci Dockeru. K instalaci těchto balíčků proveďte níže uvedený příkaz.

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

sort () c ++

2. Nastavit úložiště Docker:

Nyní naimportujte oficiální klíč GPG Dockers a ověřte podpis balíků před jejich instalací pomocí apt-get. Spusťte níže uvedený příkaz na terminálu:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key přidat

Nyní přidejte do svého systému Ubuntu úložiště Docker, které obsahuje balíčky Docker včetně jeho závislostí, pro které proveďte následující příkaz:

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

3. Nainstalujte Docker na Ubuntu:

Nyní musíte upgradovat apt index a nainstalovat vydání komunity Docker, abyste mohli provést následující příkazy:

sudo apt-get update sudo apt-get install docker-ce

Gratulujeme! Úspěšně jste nainstalovali Docker. Podívejte se také na několik běžně používaných Příkazy Dockeru .

Nyní se podívejme na několik důležitých konceptů Dockeru.

Dockerfile, Docker Image a Docker Container:

  1. Docker Image je vytvořen posloupností příkazů zapsaných v souboru nazvaném jako Dockerfile.
  2. Když je tento Dockerfile spuštěn pomocí příkazu docker, vyústí v Docker Image s názvem.
  3. Když je tento obrázek spuštěn příkazem „docker run“, sám spustí jakoukoli aplikaci nebo službu, kterou musí spustit při svém spuštění.

Docker Hub:

Docker Hub je jako GitHub pro Docker Images. Je to v podstatě cloudový registr, kde najdete obrázky Docker nahrané různými komunitami, také si můžete vytvořit svůj vlastní obraz a nahrát na Docker Hub, ale nejprve si musíte vytvořit účet na DockerHub.

Architektura Dockeru:

Skládá se z Docker Engine, což je aplikace typu klient-server se třemi hlavními komponentami:

  1. Server, který je typem dlouho běžícího programu, který se nazývá proces démona (příkaz docker).
  2. Rozhraní REST API, které specifikuje rozhraní, která mohou programy použít k rozhovoru s démonem a instruovat ho, co má dělat.
  3. Klient rozhraní příkazového řádku (CLI) (příkaz docker).
  4. Rozhraní CLI používá rozhraní Docker REST API k ovládání nebo interakci s démonem Docker prostřednictvím skriptování nebo přímých příkazů rozhraní CLI. Mnoho dalších aplikací Docker používá základní API a CLI.

Další informace naleznete v tomto blogu .

Nakonec v tomto blogu Docker Tutorial budu hovořit o Docker Compose.

Docker Compose:

Docker Compose se v zásadě používá ke spuštění více kontejnerů Docker jako jeden server. Uvedu příklad:

Předpokládejme, že pokud mám aplikaci, která vyžaduje WordPress, Maria DB a PHP MyAdmin. Mohu vytvořit jeden soubor, který by spustil oba kontejnery jako službu, aniž by bylo nutné spouštět každý zvlášť. Je to opravdu užitečné, zejména pokud máte architekturu mikroslužeb.

Viz můj blog na Kontejner Docker pochopit, jak to prakticky provést.

Můžete si také přečíst tento blog o tom, jak můžete pomocí aplikace Docker Compose kontejnerizovat aplikaci průměrného zásobníku.

Tímto ukončujeme první blog Docker Tutorial o Úvod do Docker & Containerization.

Projděte si náš další blog na Dockeru:

Nyní, když jste pochopili, co je DevOps, podívejte se na naše Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Kurz Certifikace Edureka DevOps pomáhá studentům získat odborné znalosti v různých procesech a nástrojích DevOps, jako jsou Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack a GIT pro automatizaci více kroků v SDLC.

Máte na nás dotaz? Uveďte to prosím v sekci komentáře a my se vám ozveme.