Terminologie Dockeru

Tip

Tento obsah je výňatek z eBooku, architektury mikroslužeb .NET pro kontejnerizované aplikace .NET, které jsou k dispozici na .NET Docs nebo jako zdarma ke stažení PDF, které lze číst offline.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

V této části jsou uvedené termíny a definice, se kterými byste se měli seznámit, než se do Dockeru ponoříte hlouběji. Další definice najdete v rozsáhlém glosáři poskytovaném Dockerem.

Image kontejneru: Balíček se všemi závislostmi a informacemi potřebnými k vytvoření kontejneru. Image zahrnuje všechny závislosti (například architektury) a konfiguraci nasazení a spouštění, které se použijí modulem runtime kontejneru. Image se obvykle odvozuje z několika základních imagí, které jsou vrstvy nad sebou, aby vytvořily systém souborů kontejneru. Po vytvoření je image neměnná.

Dockerfile: Textový soubor, který obsahuje pokyny k vytvoření image Dockeru. Je to jako dávkový skript, první řádek uvádí základní image tak, aby začínala, a pak postupujte podle pokynů k instalaci požadovaných programů, kopírování souborů atd., dokud nedostanete pracovní prostředí, které potřebujete.

Sestavení: Akce sestavení image kontejneru na základě informací a kontextu poskytovaných jeho souborem Dockerfile a dalších souborů ve složce, ve které je image sestavena. Image můžete sestavit pomocí následujícího příkazu Dockeru:

docker build

Kontejner: Instance image Dockeru. Kontejner představuje spuštění jedné aplikace, procesu nebo služby. Skládá se z obsahu image Dockeru, spouštěcího prostředí a standardní sady instrukcí. Při škálování služby vytvoříte z jedné image několik instancí kontejneru. Nebo dávková úloha může vytvořit více kontejnerů ze stejné image a předat jednotlivým instancím různé parametry.

Svazky: Nabízejí zapisovatelný systém souborů, který může kontejner používat. Vzhledem k tomu, že image jsou jen pro čtení, ale většina programů potřebuje zapisovat do systému souborů, svazky přidávají zapisovatelnou vrstvu nad imagí kontejneru, takže programy mají přístup k zapisovatelnému systému souborů. Program neví, že přistupuje k vrstvenému systému souborů, je to jen systém souborů jako obvykle. Svazky jsou aktivní v hostitelském systému a jsou spravovány Dockerem.

Značka: Značku nebo popisek, který můžete použít u obrázků, aby bylo možné identifikovat různé obrázky nebo verze stejného obrázku (v závislosti na čísle verze nebo cílovém prostředí).

Vícefázové sestavení: Je funkce, protože Docker 17.05 nebo vyšší, která pomáhá zmenšit velikost konečných imagí. Například velkou základní image obsahující sadu SDK lze použít ke kompilaci a publikování a k hostování aplikace lze použít malou základní image jen za běhu.

Úložiště (úložiště):: Kolekce souvisejících imagí Dockeru označená značkou, která označuje verzi image. Některá úložiště obsahují více variant konkrétní image, například image obsahující sady SDK (těžší), image obsahující pouze moduly runtime (světlejší) atd. Tyto varianty lze označit značkami. Jedno úložiště může obsahovat varianty platformy, jako je image Linuxu a image Windows.

Registr: Služba, která poskytuje přístup k úložištím. Výchozím registrem většiny veřejných imagí je Docker Hub (vlastněný Dockerem jako organizací). Registr obvykle obsahuje úložiště z více týmů. Společnosti často mají soukromé registry pro ukládání a správu imagí, které vytvořily. Dalším příkladem je Azure Container Registry.

Multi-arch image: Pro více architektur (nebo pro více platforem) je to funkce Dockeru, která zjednodušuje výběr příslušné image podle platformy, ve které je Docker spuštěný. Když například soubor Dockerfile požaduje základní image FROM mcr.microsoft.com/dotnet/sdk:8.0 z registru, ve skutečnosti získá 8.0-nanoserver-ltsc2022, 8.0-nanoserver-1809 nebo 8.0-bullseye-slim v závislosti na operačním systému a verzi, ve které je Docker spuštěný.

Docker Hub: Veřejný registr pro nahrávání imagí a práci s nimi. Docker Hub poskytuje hostování imagí Dockeru, veřejné nebo privátní registry, vytváření triggerů a webových háků a integraci s GitHubem a Bitbucketem.

Azure Container Registry: Veřejný prostředek pro práci s imagemi Dockeru a jeho komponentami v Azure. Tím získáte registr, který se blíží vašim nasazením v Azure, a poskytuje vám kontrolu nad přístupem a umožňuje používat skupiny a oprávnění Azure Active Directory.

Docker Trusted Registry (DTR):: Služba registru Dockeru (z Dockeru), která se dá nainstalovat místně, aby se nachází v datacentru a síti organizace. Je to vhodné pro privátní image, které by se měly spravovat v rámci podniku. Důvěryhodný registr Dockeru je součástí produktu Docker Datacenter.

Docker Desktop: Vývojové nástroje pro Windows a macOS pro sestavování, spouštění a testování kontejnerů místně. Docker Desktop pro Windows poskytuje vývojová prostředí pro linuxové i windows kontejnery. Hostitel Dockeru pro Linux ve Windows je založený na virtuálním počítači Hyper-V . Hostitel kontejnerů Windows je přímo založený na Systému Windows. Docker Desktop pro Mac je založený na rozhraní Hypervisoru Apple a hypervisoru xhyve, který poskytuje virtuální počítač hostitele Dockeru s Linuxem v systému macOS. Docker Desktop pro Windows a pro Mac nahrazuje Sadu nástrojů Dockeru, která byla založená na Oracle VirtualBoxu.

Psaní: Nástroj příkazového řádku a formát souboru YAML s metadaty pro definování a spouštění vícekontejnerových aplikací. Definujete jednu aplikaci založenou na několika obrázcích s jedním nebo více .yml soubory, které můžou přepsat hodnoty v závislosti na prostředí. Po vytvoření definic můžete nasadit celou vícekontenerovou aplikaci jediným příkazem (docker-compose up), který vytvoří kontejner na každou image na hostiteli Dockeru.

Cluster: Kolekce hostitelů Dockeru vystavená, jako by šlo o jednoho virtuálního hostitele Dockeru, aby aplikace dokázala škálovat na více instancí služeb rozložených mezi několik hostitelů v rámci clusteru. Clustery Dockeru je možné vytvářet pomocí Kubernetes, Azure Service Fabric, DockerU Swarm a Mesosphere DC/OS.

Orchestrator: Nástroj, který zjednodušuje správu clusterů a hostitelů Dockeru. Orchestrátory umožňují spravovat jejich image, kontejnery a hostitele prostřednictvím rozhraní příkazového řádku (CLI) nebo grafického uživatelského rozhraní. Můžete spravovat sítě kontejnerů, konfigurace, vyrovnávání zatížení, zjišťování služeb, vysokou dostupnost, konfiguraci hostitele Dockeru a další. Orchestrátor zodpovídá za spouštění, distribuci, škálování a opravy úloh napříč kolekcí uzlů. Produkty orchestrátoru jsou obvykle stejné produkty, které poskytují infrastrukturu clusteru, jako je Kubernetes a Azure Service Fabric, mimo jiné nabídky na trhu.