GNU/Linux >> Znalost Linux >  >> Cent OS

Docker Image vs Container:Hlavní rozdíly

Úvod

Docker je open-source software navržený pro usnadnění a zjednodušení vývoje aplikací. Jedná se o sadu produktů typu platform-as-a-service, které vytvářejí izolovaná virtualizovaná prostředí pro vytváření, nasazování a testování aplikací.

Přestože je ovládání softwaru relativně jednoduché, existují určité termíny specifické pro Docker, které mohou noví uživatelé považovat za matoucí. Dockerfiles, obrázky, kontejnery, svazky a další terminologie budou muset být zvládnuty a časem by se měly stát druhou přirozeností.

Je dobré pokusit se pochopit základní role těchto prvků. Urychlí to učení se, jak s nimi pracovat. Jedna z otázek, kterou si mnoho uživatelů klade, je:

W Jaký je rozdíl mezi obrázkem Dockeru a kontejnerem?

Tento článek vysvětluje, jak se tyto dva liší a jak spolu souvisí. Přečtěte si více a dozvíte se to.

Co je to obrázek Docker?

Obrázek dockeru je neměnný (nezměnitelný) soubor, který obsahuje zdrojový kód, knihovny, závislosti, nástroje a další soubory potřebné pro běh aplikace.

Kvůli jejich pouze pro čtení kvalitu, jsou tyto obrázky někdy označovány jako snímky. Představují aplikaci a její virtuální prostředí v určitém okamžiku. Tato konzistence je jednou ze skvělých vlastností Dockeru. Umožňuje vývojářům testovat a experimentovat software ve stabilních, jednotných podmínkách.

Protože obrázky jsou svým způsobem jen šablony , nemůžete je spustit ani spustit. Co můžete udělat, je použít tuto šablonu jako základ pro vytvoření kontejneru. Kontejner je v konečném důsledku jen běžící obrázek. Jakmile vytvoříte kontejner, přidá na neměnný obrázek zapisovatelnou vrstvu, což znamená, že jej nyní můžete upravit.

Obrazová báze, na které vytvoříte kontejner, existuje samostatně a nelze ji změnit. Když spustíte kontejnerizované prostředí, v podstatě vytvoříte kopii pro čtení i zápis tohoto souborového systému (obrazu dockeru) uvnitř kontejneru. Tím přidáte vrstvu kontejneru  což umožňuje úpravy celé kopie obrázku.

Z jednoho základu obrázků můžete vytvořit neomezený počet obrázků Docker . Pokaždé, když změníte počáteční stav obrázku a uložíte stávající stav, vytvoříte novou šablonu s další vrstvou navrchu.

Obrázky dockeru se proto mohou skládat z řady vrstev , z nichž každý se liší, ale také pochází z předchozího. Obrazové vrstvy představují soubory pouze pro čtení, ke kterým se přidá kontejnerová vrstva, jakmile ji použijete ke spuštění virtuálního prostředí.

Co je to Docker Container?

Docker kontejner je virtualizované run-time prostředí, kde uživatelé mohou izolovat aplikace od základního systému. Tyto kontejnery jsou kompaktní, přenosné jednotky, ve kterých můžete rychle a snadno spustit aplikaci.

Cennou funkcí je standardizace výpočetního prostředí běžícího uvnitř kontejneru. Nejen, že zajišťuje, že vaše aplikace funguje za stejných okolností, ale také zjednodušuje sdílení s ostatními spoluhráči.

Jelikož jsou kontejnery autonomní, poskytují silnou izolaci a zajišťují, že nepřeruší ostatní běžící kontejnery, stejně jako server, který je podporuje. Docker tvrdí, že tyto jednotky „poskytují nejsilnější izolační schopnosti v oboru“. Nebudete se tedy muset starat o zabezpečení svého počítače při vývoji aplikace.

Na rozdíl od virtuálních strojů (VM), kde k virtualizaci dochází na úrovni hardwaru, se kontejnery virtualizují na vrstvě aplikace. Mohou využívat jeden stroj, sdílet jeho jádro a virtualizovat operační systém pro spouštění izolovaných procesů. Díky tomu jsou kontejnery extrémně lehké , což vám umožní zachovat cenné zdroje.

Docker Images vs Containers

Když diskutujeme o rozdílu mezi obrázky a kontejnery, není fér je porovnávat jako protichůdné entity. Oba prvky spolu úzce souvisejí a jsou součástí systému definované platformou Docker.

Pokud jste si přečetli předchozí dvě části, které definují obrázky dockerů a kontejnery dockerů, možná už chápete, jak tyto dva navazují vztah.

Obrázky mohou existovat bez kontejnerů, zatímco kontejner musí spustit obrázek, aby mohl existovat. Kontejnery jsou proto závislé na obrázcích a používají je k vytvoření běhového prostředí a spuštění aplikace.

Tyto dva koncepty existují jako základní součásti (nebo spíše fáze) v procesu spuštění kontejneru Docker. Mít spuštěný kontejner je poslední „fází“ tohoto procesu, což naznačuje, že závisí na předchozích krocích a komponentách. To je důvod, proč obrázky dockerů v podstatě řídí a tvarují kontejnery.

Z Dockerfile do obrázku do kontejneru

Vše začíná skriptem pokynů, které definují, jak vytvořit konkrétní obrázek Dockeru. Tento skript se nazývá Dockerfile. Soubor automaticky provede uvedené příkazy a vytvoří image Docker .

Příkaz pro vytvoření obrázku z Dockerfile je docker build .

Obrázek se poté použije jako šablona (nebo základ), kterou může vývojář zkopírovat a použít ke spuštění aplikace. Aplikace potřebuje izolované prostředí, ve kterém běží – kontejner .

Toto prostředí není jen virtuální „prostor“. Zcela se spoléhá na obraz, který jej vytvořil. Zdrojový kód, soubory, závislosti a binární knihovny, které se všechny nacházejí v obrazu Dockeru, tvoří kontejner.

Chcete-li vytvořit vrstvu kontejneru z obrázku, použijte příkaz docker create .

Nakonec po spuštění kontejneru z existujícího obrazu spustíte jeho službu a spustíte aplikaci.


Cent OS
  1. Jak vytvořit vlastní obrázek z kontejneru Docker

  2. Spuštění shellu v kontejneru Docker Alpine

  3. Který operační systém běží v mém kontejneru Docker?

  1. 7 zábavných funkcí pro přenos kontejnerů/obrázků v Linuxu

  2. Extrahovat soubor z obrázku Dockeru?

  3. Úvod do Dockeru

  1. Aktualizace nasazeného kontejneru na základě obrazu Dockeru

  2. Jak vytvořit Docker Image z kontejneru a Dockerfile

  3. Jak aktualizovat/přidat soubor v Docker Image