GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Co je Docker Container:Úvodní příručka pro začátečníky

Chcete vědět, co je to kontejner Docker? Vše, co potřebujete vědět, se dozvíte v tomto článku pomocí snadno srozumitelného jazyka.

Popularita Dockeru není bezdůvodná. Výrazně změnil způsob, jakým vývojáři přistupují k vývoji aplikací.

Stal se standardem v IT průmyslu pro snadné balení, nasazování a spouštění distribuovaných aplikací.

Klíčovou výhodou Dockeru je, že umožňuje uživatelům zabalit aplikaci se všemi jejími závislostmi do standardizované jednotky zvané kontejner.

Protože Docker je kontejnerizační platforma, musíte pochopit historii kontejnerizace.

Historie před kontejnerizací

Než přišla na scénu kontejnerizace, nejlepším způsobem, jak izolovat a organizovat aplikace a jejich závislosti, bylo umístit každou aplikaci na její virtuální stroj.

Na těchto počítačích běží více aplikací na stejném fyzickém hardwaru a tento proces není nic jiného než virtualizace .

Virtualizace však měla několik nedostatků, například velikost virtuálních strojů. Navíc provozování více virtuálních strojů vede k nestabilnímu výkonu.

Proces spouštění by obvykle trval dlouho a virtuální počítače by nevyřešily problémy, jako je přenositelnost, aktualizace softwaru nebo nepřetržitá integrace a nepřetržité doručování.

Tyto nevýhody vedly ke vzniku nové techniky zvané kontejnerizace .

Kontejnerizace je typ virtualizace, který přináší virtualizaci na úroveň operačního systému.

Zatímco virtualizace přináší abstrakci do hardwaru, kontejnerizace přináší abstrakci do operačního systému.

Kontejnery vs. virtuální počítače

Termíny „kontejnery“ a „virtuální stroje“ se často používají zaměnitelně; toto je však často nepochopeno.

Ale obě jsou jen různé metody poskytování virtualizace operačního systému.

Virtuální stroje

Virtuální stroje obecně zahrnují celý operační systém, balíčky a v případě potřeby několik aplikací.

Umožňuje to Hypervisor, který virtuálnímu počítači poskytuje hardwarovou virtualizaci.

To umožňuje jednomu serveru provozovat mnoho samostatných operačních systémů jako virtuální hosté. Obecně řečeno, virtuální stroj je systém, který funguje přesně jako počítač.

Kontejnery

Kontejnery jsou podobné virtuálním strojům, až na to, že kontejnery nejsou celé operační systémy. Kontejnery obecně obsahují pouze nezbytné balíčky OS a aplikace.

Obvykle neobsahují celý operační systém nebo hardwarovou virtualizaci; tyto jsou „lehké“.

Kontejner se obecně používá k izolaci běžícího procesu v rámci jednoho hostitele, aby se zajistilo, že izolované procesy nemohou interagovat s jinými procesy v rámci stejného systému – procesy karantény kontejnerů od sebe navzájem.

Jednoduše řečeno, kontejner Docker si můžete představit jako odlehčený ekvivalent virtuálního stroje.

Docker umožňuje vytváření kontejnerů a práci s nimi co nejefektivněji.

Důvody, proč používat kontejnery Docker

  • Kontejnery nemají hostující operační systém a používají operační systém hostitele. Sdílejí tedy relevantní knihovny a zdroje podle potřeby.
  • Izolace aplikací:Chcete-li na jednom serveru provozovat více aplikací, zabráníte problémům se správou závislostí uchováváním komponent každé aplikace v samostatných kontejnerech.
  • Zpracování a spouštění aplikací je velmi rychlé, protože binární soubory specifické pro aplikace a knihovny kontejnerů běží na hostitelském jádře.
  • Spuštění kontejneru trvá jen zlomek sekundy.
  • Kontejnery jsou lehké a rychlejší než virtuální stroje.

Co je to kontejner Docker?

Docker je platforma, která zabalí aplikaci a všechny její závislosti dohromady ve formě kontejnerů.

Využívá kontejnery k usnadnění vytváření, nasazení a běhu aplikací. Docker sváže aplikaci a její závislosti uvnitř kontejneru.

Kontejnery umožňují vývojáři zabalit aplikaci se všemi částmi, které potřebuje, jako jsou knihovny a další závislosti, a odeslat vše jako jeden balíček.

Řekněme, že potřebujete vytvořit aplikaci. Chcete-li tuto aplikaci zpřístupnit veřejnosti, musíte ji někde hostovat. V minulosti jste si museli sestavit svůj počítač.

Poté budete muset nastavit vyhrazenou webovou službu zvanou „server“, počítač určený k hostování webových stránek nebo webových služeb.

Vaše aplikace však může mít pro začátek pouze přibližnou velikost 300 megabajtů.

Proč byste tedy chtěli „virtuální stroj“, virtualizované prostředí vyplývající z virtualizace, které má velikost 1 GB+, když je vaše aplikace mnohem menší?

Koncept „kontejneru“ přichází, aby to napravil. Docker to dělá následujícím způsobem. Namísto hostování každého operačního systému na aplikaci lze sdílet některé společné zdroje a existuje něco, čemu se říká „docker engine“, který je umístěn nad operačním systémem.

Přijetím Dockeru nebo kontejneru lze aplikace nasadit nebo zrušit rychleji. Rychlejší spuštění a zastavení, rychlejší přechod na jiný „obraz“, rychlejší zpracování a provádění mnoha věcí.

Ale pomohlo by vám, kdybyste se na začátku seznámili se základními prvky a nástroji kolem ekosystému Docker.

Dockerfile

Dockerfile je sada přesných instrukcí, které uvádějí, jak vytvořit nový Docker image – nastavení výchozích hodnot pro kontejnery, které jsou na něm spouštěny, a ještě něco navíc.

Je to textový dokument, který obsahuje všechny příkazy, které může uživatel volat na příkazovém řádku k sestavení obrázku.

Docker tedy může vytvářet obrázky automaticky čtením pokynů ze souboru Docker.

Obrázek dockeru

Docker Image lze přirovnat k šabloně pouze pro čtení používané k vytváření kontejnerů Docker. Jinými slovy, obrázek je plán, ze kterého lze spustit libovolný počet zcela nových kontejnerů.

V obrázku nejsou uloženy žádné „aktuálně spuštěné příkazy“. Když vytvoříte kontejner, je to jako spouštění počítače po jeho vypnutí.

Docker Container

Jedná se o spuštěnou instanci obrazu Docker, protože obsahuje celý balíček potřebný ke spuštění aplikace.

Představte si, že byste chtěli spustit příkaz izolovaný od všeho ostatního v systému. Mělo by přistupovat pouze přesně ke zdrojům, které má povoleno, a neví, že na stroji je něco jiného.

Proces běžící uvnitř kontejneru si myslí, že je to jediný, kdo vidí barebones Linux distro to, co je popsáno na obrázku.

Počítač, na kterém běží kontejner, by se neměl příliš starat o to, co je uvnitř, a ukotvené aplikaci je jedno, jestli je na clusteru Kubernetes nebo na jediném serveru – bude moci běžet tak jako tak.

Kontejner může současně spustit více než jeden proces. Můžete tedy například zabalit mnoho služeb do jednoho kontejneru a provozovat je vedle sebe.

Když je kontejner Docker odstraněn, opětovné spuštění bitové kopie spustí kontejner znovu bez jakýchkoli změn provedených v dříve spuštěném kontejneru – tyto změny budou ztraceny.

Hlasitost dockeru

Obrázky se nemění. Můžete vytvořit nové, ale to je vše. Na druhou stranu kontejnery po sobě ve výchozím nastavení nic nenechají. Veškeré změny provedené v kontejneru jsou proto ztraceny, jakmile je odstraněn.

Chcete-li uložit (přetrvávat) data a sdílet data mezi kontejnery, přišel Docker s konceptem svazků . Jednoduše řečeno, svazky jsou adresáře (nebo soubory) mimo výchozí souborový systém a existují jako standardní adresáře a soubory na hostitelském souborovém systému.

Jinými slovy, svazky dockerů nám umožnily uchovávat data a sdílet je mezi kontejnery.

Závěr

Doufáme, že vám tento článek pomohl porozumět základním principům Dockeru, co je Docker a kontejner Docker a jak způsobil revoluci ve vývoji softwaru.

S výše uvedenými znalostmi byste měli mít pevnou představu o tom, o čem Docker v jádru je.

Další informace o Dockeru naleznete na webových stránkách projektu nebo v oficiální dokumentaci.


Docker
  1. Jak spustit Nginx v kontejneru Docker:Průvodce krok za krokem

  2. Co je Docker (a Linux kontejnery?)

  3. Jak sdílet data mezi kontejnery Docker

  1. Jak vypsat Docker kontejnery

  2. Úvod do virtualizace:Komplexní průvodce pro začátečníky

  3. Jak zálohovat a obnovovat kontejnery Docker

  1. Co je Docker?

  2. Jak spravovat kontejnery Docker? Osvědčené postupy

  3. Jak pozastavit a obnovit kontejnery Docker