Docker Architecture: Proč je to důležité?



Tento blog pojednává o architektuře přístavních děl a jejích různých komponentách. Zdůrazňuje funkce ukotvitelného panelu, který nám říká důvod jeho popularity.

Mnoho z nás věří, že Docker je nedílnou součástí . Za tímto neuvěřitelným nástrojem tedy musí být úžasná architektura. V tomto blogu se budu věnovat všemu, co musíte o architektuře Docker vědět. Toto jsou body, o kterých zde budu diskutovat:

  1. Tradiční virtualizace vs Docker
  2. Dockerův pracovní postup
  3. Docker Architecture

Tradiční virtualizace vs Docker

Co je to VM (Virtual Machine)?

VM je virtuální server, který emuluje hardwarový server. Virtuální stroj spoléhá na fyzický hardware systému, aby emuloval přesně stejné prostředí, ve kterém instalujete své aplikace. V závislosti na vašem případu použití můžete použít systémový virtuální stroj (který spouští celý operační systém jako proces, který vám umožní nahradit skutečný stroj za virtuální stroj), nebo zpracovat virtuální stroje, které vám umožní spouštět počítačové aplikace samostatně ve virtuálním životní prostředí.





Dříve jsme vytvářeli virtuální stroje a každý virtuální počítač měl operační systém, který zabral spoustu místa a ztížil jej.

Co je Docker?

Docker je open-source projekt, který nabízí řešení vývoje softwaru známé jako kontejnery. Abyste porozuměli Dockeru, musíte vědět, jaké jsou kontejnery. Podle Přístavní dělník , kontejner je lehký, samostatný, spustitelný balíček softwaru, který obsahuje vše potřebné k jeho spuštění.



Kontejnery jsou nezávislé na platformě, a proto Docker může běžet na platformách založených na Windows i Linuxu. Ve skutečnosti lze Docker spustit také ve virtuálním počítači, pokud je to nutné. Hlavním účelem Dockeru je, že vám umožňuje spouštět aplikace mikroslužeb v distribuované architektuře.

Ve srovnání s virtuálními stroji se platforma Docker posune nahoru v odběru prostředků z úrovně hardwaru na úroveň operačního systému. To umožňuje realizaci různých výhod kontejnerů, např. přenositelnost aplikací, oddělení infrastruktury a samostatné mikroslužby.

Jinými slovy, zatímco Virtual Machines abstraktní celý hardwarový server, kontejnery abstraktní jádro operačního systému. Jedná se o zcela odlišný přístup k virtualizaci a vede k mnohem rychlejším a lehčím instancím.



vm vs docker - docker architektura - edureka

Dockerův pracovní postup

Nejprve se podívejme na Docker Engine a jeho komponenty, abychom měli základní představu o tom, jak systém funguje. Docker Engine vám umožňuje vyvíjet, sestavovat, dodávat a spouštět aplikace pomocí následujících komponent:

  1. Docker Daemon : Trvalý proces na pozadí, který spravuje Docker obrázky, kontejnery, sítě a svazky úložiště. Démon Docker neustále naslouchá požadavkům Docker API a zpracovává je.

  2. REST API Docker Engine : Aplikace používají aplikace k interakci s démonem Dockeru. Může k němu přistupovat klient HTTP.

  3. Docker CLI : Klient rozhraní příkazového řádku pro interakci s démonem Docker. Výrazně zjednodušuje způsob správy instancí kontejnerů a je jedním z klíčových důvodů, proč vývojáři rádi používají Docker.

Nejprve klient Dockeru hovoří s démonem Dockeru, který provádí těžké zvedání budovy, běží a distribuuje naše kontejnery Dockeru. Klient Docker i démon mohou v zásadě běžet ve stejném systému. Můžeme také připojit klienta Dockeru kvzdálený démon Dockeru. Kromě toho pomocí REST API komunikují klient a démon Dockeru přes sokety UNIX nebo síťové rozhraní.

Docker Architecture

Architektura Dockeru využívá model klient-server a skládá se z Dockerova klienta, hostitele Dockeru, síťových a úložných komponent a registru / centra Dockeru. Podívejme se na každou z nich podrobněji.

Dockerův klient

Uživatelé Dockeru mohou s Dockerem komunikovat prostřednictvím klienta. Když se spustí jakýkoli příkaz dockeru, klient je pošle démonovi dockerd, který je provede. Docker API používají příkazy Dockeru. Je možné, aby klient Dockeru komunikoval s více než jedním démonem.

Hostitel Dockeru

Hostitel Dockeru poskytuje kompletní prostředí pro spouštění a spouštění aplikací. Skládá se z démona Dockeru, obrázků, kontejnerů, sítí a úložiště. Jak již bylo zmíněno dříve, démon je zodpovědný za všechny akce související s kontejnerem a přijímá příkazy prostřednictvím rozhraní příkazového řádku neboREST API. Může také komunikovat s dalšími démony za účelem správy svých služeb.

Docker Objects

1. Obrázky

Obrázky nejsou nic jiného než binární šablona jen pro čtení, která může vytvářet kontejnery. Obsahují také metadata, která popisují možnosti a potřeby kontejneru. Obrázky se používají k ukládání a odesílání aplikací. Obrázek lze použít samostatně k vytvoření kontejneru nebo přizpůsobit přidání dalších prvků k rozšíření aktuální konfigurace.

Můžete sdílet obrázky kontejnerů napříč týmy v rámci podniku pomocí soukromého registru kontejnerů, nebo je sdílet se světem pomocí veřejného registru, jako je Docker Hub. Obrázky jsou základním prvkem prostředí Docker, protože umožňují spolupráci mezi vývojáři způsobem, který dříve nebyl možný

2. Kontejnery

Kontejnery jsou jakési zapouzdřená prostředí, ve kterých spouštíte aplikace. Kontejner je definován obrázkem a veškerými dalšími možnostmi konfigurace poskytnutými při spuštění kontejneru, mimo jiné včetně síťových připojení a možností úložiště. Kontejnery mají přístup pouze k prostředkům, které jsou definovány v bitové kopii, pokud není definován další přístup při vytváření bitové kopie do kontejneru.

Můžete také vytvořit nový obrázek na základě aktuálního stavu kontejneru. Vzhledem k tomu, že kontejnery jsou mnohem menší než virtuální počítače, lze je otáčet během několika sekund a výsledkem je mnohem lepší hustota serveru

3. Sítě

Síť Dockeru je průchod, kterým komunikují všechny izolované kontejnery. V ukotvitelném panelu je hlavně pět síťových ovladačů:

    1. Most : Je to výchozí síťový ovladač pro kontejner. Tuto síť používáte, když je vaše aplikace spuštěna na samostatných kontejnerech, tj. Více kontejnerů komunikujících se stejným hostitelem dockeru.

    2. Hostitel : Tento ovladač odstraní síťovou izolaci mezi kontejnery dockeru a hostitelem dockeru. Můžete jej použít, když nepotřebujete žádnou izolaci sítě mezi hostitelem a kontejnerem.

    3. Překrytí : Tato síť umožňuje vzájemné komunikaci služeb roje. Používáte jej, když chcete, aby se kontejnery spouštěly na různých hostitelích Dockeru, nebo když chcete vytvářet rojové služby více aplikacemi.

    4. Žádný : Tento ovladač zakáže všechny sítě.

    5. macvlan : Tento ovladač přiřazuje mac adresy kontejnerům, aby vypadaly jako fyzická zařízení. Směřuje provoz mezi kontejnery prostřednictvím jejich mac adres. Tuto síť používáte, když chcete, aby kontejnery vypadaly jako fyzické zařízení, například při migraci nastavení virtuálního počítače.

      převod double na int v java

4. Skladování

Data můžete ukládat v zapisovatelné vrstvě kontejneru, vyžaduje to však ovladač úložiště. Být non-trvalé, to zahyne, kdykoli kontejner není spuštěn. Navíc není snadné tyto údaje přenést. Pokud jde o trvalé úložiště, Docker nabízí čtyři možnosti:

    1. Objemy dat : Poskytují schopnost vytvářet trvalé úložiště se schopností přejmenovat svazky, vypsat svazky a také vypsat kontejner, který je se svazkem spojen. Datové svazky jsou umístěny na hostitelském systému souborů, mimo mechanismus kopírování kontejnerů při zápisu a jsou poměrně efektivní.

    2. Objemový kontejner : Jedná se o alternativní přístup, kdy vyhrazený kontejner hostí svazek a připojuje tento svazek k jiným kontejnerům. V tomto případě je kontejner svazku nezávislý na kontejneru aplikace, a proto jej můžete sdílet ve více než jednom kontejneru.

    3. Připojení adresáře : Další možností je připojit místní adresář hostitele do kontejneru. V dříve zmíněných případech by svazky musely být ve složce svazků Docker, zatímco pokud jde o adresářové připojení, lze jako zdroj pro svazek použít libovolný adresář na hostitelském počítači.

    4. Pluginy úložiště : Pluginy úložiště poskytují možnost připojení k externím platformám úložiště. Tyto doplňky mapují úložiště z hostitele na externí zdroj, jako je úložné pole nebo zařízení. Seznam doplňků úložiště naleznete na stránce Doplňky Dockeru.

Dockerův registr

Docker registry jsou služby, které poskytují umístění, odkud můžete ukládat a stahovat obrázky. Jinými slovy, registr Docker obsahuje úložiště Docker, která hostují jeden nebo více obrázků Docker. Veřejné registry zahrnují dvě komponenty, jmenovitě Docker Hub a Docker Cloud. Můžete také použít soukromé registry. Mezi nejběžnější příkazy při práci s registry patří: docker push, docker pull, docker run

Nyní, když jste pochopili architekturu Docker, podívejte se na toto 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 pochopit, co je DevOps, a 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ářů v této „Docker Architecture“ a my se vám ozveme