Sdílet prostřednictvím


Windows a kontejnery

Platí pro: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

Kontejnery jsou technologie pro balení a spouštění aplikací pro Windows a Linux v různých prostředích místně i v cloudu. Kontejnery poskytují jednoduché izolované prostředí, které usnadňuje vývoj, nasazování a správu aplikací. Kontejnery se spouštějí a zastavují rychle, takže jsou ideální pro aplikace, které se potřebují rychle přizpůsobit měnící se poptávce. Jednoduchá povaha kontejnerů je také užitečným nástrojem pro zvýšení hustoty a využití infrastruktury.

Grafika zobrazující, jak kontejnery mohou běžet v cloudu nebo na vlastní infrastruktuře, podporující monolitické aplikace nebo mikroslužby napsané v téměř jakémkoli jazyce.

Ekosystém kontejnerů Microsoftu

Microsoft nabízí mnoho nástrojů a platforem, které vám pomůžou vyvíjet a nasazovat aplikace v kontejnerech:

Jak fungují kontejnery

Kontejner je izolovaný a jednoduchý balíček pro spuštění aplikace v hostitelském operačním systému. Kontejnery běží na vrcholu jádra hostitelského operačního systému (který si můžete představit jako základní strukturu operačního systému), jak je znázorněno v následujícím diagramu.

diagram architektury znázorňující, jak kontejnery běží na jádru

Zatímco kontejner sdílí jádro hostitelského operačního systému, nemá k němu neomezený přístup. Místo toho kontejner získá izolovanou a v některých případech virtualizované zobrazení systému. Kontejner může například přistupovat k virtualizované verzi systému souborů a registru, ale všechny změny ovlivní pouze kontejner a zahodí se při zastavení. Pokud chcete uložit data, kontejner může připojit trvalé úložiště, jako je Azure Disk nebo sdílená složka, jako je Azure Files.

Kontejner je založen na jádru, ale jádro neposkytuje všechna rozhraní API a služby, které aplikace potřebuje spustit. Většina těchto rozhraní API a služeb pochází ze systémových souborů (knihoven), které běží nad jádrem v uživatelském režimu. Protože je kontejner izolovaný od prostředí uživatelského režimu hostitele, potřebuje kontejner vlastní kopii těchto systémových souborů uživatelského režimu. Tyto soubory jsou zabalené do něčeho, co se označuje jako základní image. Základní image slouží jako základní vrstva, na které sestavíte kontejner, a poskytuje jí služby operačního systému, které jádro neposkytuje.

Kontejnery a virtuální počítače

Na rozdíl od kontejneru spouští virtuální počítač kompletní operační systém včetně vlastního jádra, jak je znázorněno v následujícím diagramu.

diagram architektury znázorňující, jak virtuální počítače spouštějí kompletní operační systém vedle hostitelského operačního systému

Kontejnery a virtuální počítače mají svá použití. Ve skutečnosti mnoho nasazení kontejnerů používá virtuální počítače jako hostitelský operační systém místo přímého spouštění na hardwaru, zejména při spouštění kontejnerů v cloudu.

Další informace o podobnostech a rozdílech těchto doplňkových technologií najdete v tématu Kontejnery a virtuální počítače.

Image kontejnerů

Vytvoříte všechny kontejnery z imagí kontejnerů. Image kontejneru je sada souborů uspořádaných do zásobníku vrstev, které se nacházejí na místním počítači nebo ve vzdáleném registru kontejneru. Image kontejneru se skládá ze souborů operačního systému uživatelského režimu, které vaše aplikace potřebuje spustit. Image obsahuje také moduly runtime, závislosti a všechny konfigurační soubory, které vaše aplikace vyžaduje.

Microsoft nabízí několik imagí (označovaných jako základní image), které můžete použít jako výchozí bod k sestavení vlastní image kontejneru:

  • Windows – obsahuje úplnou sadu rozhraní API systému Windows a systémových služeb (bez rolí serveru).
  • Windows Server – obsahuje úplnou sadu rozhraní API systému Windows a systémových služeb.
  • Windows Server Core – menší image, která obsahuje podmnožinu rozhraní API windows Serveru– konkrétně úplnou architekturu .NET. Zahrnuje také většinu, ale ne všechny role serveru (například faxový server není zahrnutý).
  • Nano Server – nejmenší obraz Windows Serveru, který zahrnuje podporu .NET Core rozhraní API a některých rolí serveru.

Image kontejnerů se skládají z řady vrstev. Každá vrstva obsahuje sadu souborů, které při překryvování společně představují image kontejneru. Z důvodu vrstvené povahy kontejnerů nemusíte vždy cílit na základní image pro sestavení kontejneru Windows. Místo toho můžete cílit na jinou image, která už má požadovanou architekturu. Tým .NET například publikuje image .NET Core, která přenáší modul runtime .NET Core. Šetří uživatelům, aby nemuseli duplikovat proces instalace .NET Core– místo toho můžou znovu použít vrstvy této image kontejneru. Samotná image .NET Core je založená na Nano Serveru.

Další informace naleznete v tématu Základní image kontejneru.

Uživatelé kontejnerů

Kontejnery pro vývojáře

Kontejnery pomáhají vývojářům vytvářet a dodávat aplikace s vyšší kvalitou, rychleji. S kontejnery můžou vývojáři vytvořit image kontejneru, která se nasadí v sekundách stejně napříč prostředími. Kontejnery fungují jako snadný mechanismus sdílení kódu napříč týmy a spouštění vývojového prostředí bez dopadu na hostitelský systém souborů.

Kontejnery jsou přenosné a všestranné, můžou spouštět aplikace napsané v libovolném jazyce a jsou kompatibilní s libovolným počítačem s Windows 10, verzí 1607 nebo novějším nebo Windows Serverem 2016 nebo novějším. Vývojáři můžou vytvořit a otestovat kontejner místně na svém přenosném nebo stolním počítači a pak stejnou image kontejneru nasadit do privátního cloudu, veřejného cloudu nebo poskytovatele služeb společnosti. Přirozená flexibilita kontejnerů podporuje vzory vývoje moderních aplikací v rozsáhlých virtualizovaných cloudových prostředích. Nejužitečnější výhodou pro vývojáře je možná možnost izolovat vaše prostředí, aby vaše aplikace vždy získala vámi zadanou verzi knihoven, aby nedocházelo ke konfliktům se závislostmi.

Kontejnery pro IT profesionály

Kontejnery pomáhají správcům vytvářet infrastrukturu, která se snadněji aktualizuje a udržuje a která plně využívá hardwarové prostředky. IT specialisté můžou používat kontejnery k poskytování standardizovaných prostředí pro vývoj, kontrolu kvality a produkční týmy. Díky použití kontejnerů správci systémů abstrahují rozdíly v instalacích operačního systému a základní infrastruktuře.

Interaktivní režim kontejnerů můžete také použít ke spuštění konfliktních instancí nástroje příkazového řádku ve stejném systému.

Orchestrace kontejnerů

Orchestrátory jsou důležitou součástí infrastruktury při nastavování prostředí založeného na kontejnerech. Orchestrátory jsou nezbytné při správě kontejnerizovaných aplikací ve velkém měřítku. I když můžete spravovat několik kontejnerů ručně pomocí Dockeru a Windows, aplikace často využívají pět, deset nebo dokonce stovky kontejnerů, takže orchestrátory jsou nepostradatelné.

Orchestrátory kontejnerů byly vytvořeny tak, aby pomohly spravovat kontejnery ve velkém měřítku a v produkčním prostředí. Orchestrátory poskytují funkce pro:

Orchestrátory pomáhají rozšiřovat kontejnerizované aplikace ve velkém měřítku a poskytují funkce pro:

  • Nasazení ve velkém měřítku
  • Plánování úloh
  • Monitorování stavu
  • Převzetí služeb při selhání uzlu
  • Rozšiřování nebo zmenšování
  • Sítě
  • Zjišťování služeb
  • Koordinace upgradů aplikací
  • Spřažení uzlu clusteru

Existuje mnoho různých orchestrátorů, které můžete použít s kontejnery Windows; Microsoft nabízí následující možnosti:

Vyzkoušení kontejnerů ve Windows

Pokud chcete začít s kontejnery ve Windows Serveru nebo Windows 10, přečtěte si následující článek:

Nápovědu k rozhodování o tom, které služby Azure jsou pro váš scénář vhodné, najdete v tématu Služby kontejneru Azure a výběr služeb Azure, které se mají použít k hostování vaší aplikace.

Prostředky

Pokud chcete zobrazit prostředky pro používání kontejnerů Windows Serveru, projděte si následující zdroje informací: