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

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

Toto téma popisuje některé klíčové podobnosti a rozdíly mezi kontejnery a virtuálními počítači a kdy je vhodné je použít. 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, nikoli přímo na hardwaru, zejména při spouštění kontejnerů v cloudu.

Pro přehled kontejnerů se podívejte na Windows a kontejnery.

Architektura kontejnerů

Kontejner je izolované, lehké prostředí pro spuštění aplikace na hostitelském operačním systému. Kontejnery jsou postavené na jádru hostitelského operačního systému (které lze považovat za uložené instalace operačního systému) a obsahují pouze aplikace a některé odlehčené rozhraní API a služby operačního systému, které běží v uživatelském režimu, jak je znázorněno v tomto diagramu.

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

Architektura virtuálních počítačů

Na rozdíl od kontejnerů spouští virtuální počítače kompletní operační systém, včetně vlastního jádra, jak je znázorněno v tomto 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

Následující tabulka uvádí některé podobnosti a rozdíly těchto doplňkových technologií.

Vlastnost Virtuální počítač Kontejner
Izolace Poskytuje úplnou izolaci od hostitelského operačního systému a dalších virtuálních počítačů. To je užitečné, když je důležitá silná hranice zabezpečení, například hostování aplikací od konkurenčních společností na stejném serveru nebo clusteru. Obvykle poskytuje jednoduchou izolaci od hostitele a dalších kontejnerů, ale neposkytuje tak silnou hranici zabezpečení jako virtuální počítač. (Zabezpečení můžete zvýšit pomocí Hyper-V režimu izolace k izolaci každého kontejneru ve zjednodušeném virtuálním počítači).
Operační systém Spustí kompletní operační systém včetně jádra, takže vyžaduje více systémových prostředků (procesor, paměť a úložiště). Spustí část operačního systému v uživatelském režimu a můžete ji přizpůsobit tak, aby obsahovala jenom potřebné služby pro vaši aplikaci s využitím menšího počtu systémových prostředků.
Kompatibilita hostů Běží prakticky jakýkoli operační systém uvnitř virtuálního počítače. Běží na stejné verzi operačního systému jako hostitelská (izolaceHyper-V umožňuje spouštět starší verze stejného operačního systému v odlehčeném prostředí virtuálního počítače).
Nasazení Nasazujte jednotlivé virtuální počítače pomocí Windows Admin Center nebo Hyper-V Manager; nasazujte více virtuálních počítačů pomocí PowerShellu nebo System Center Virtual Machine Manager. Nasazení jednotlivých kontejnerů pomocí Dockeru prostřednictvím příkazového řádku; nasaďte více kontejnerů pomocí orchestrátoru, jako je Azure Kubernetes Service.
Aktualizace a upgrady operačního systému Stáhněte a nainstalujte aktualizace operačního systému na každý virtuální počítač. Instalace nové verze operačního systému vyžaduje upgrade nebo často jen vytvoření zcela nového virtuálního počítače. To může být časově náročné, zejména pokud máte hodně virtuálních počítačů. Aktualizace nebo upgrade souborů operačního systému v kontejneru je stejná:
  1. Upravte soubor sestavení image kontejneru (označovaný jako Dockerfile) tak, aby odkazoval na nejnovější verzi základní image systému Windows.
  2. Přepracujte obraz kontejneru s touto novou základní verzí.
  3. Nasdílejte image kontejneru do registru kontejneru.
  4. Opětovné nasazení pomocí orchestrátoru
    Orchestrátor poskytuje výkonnou automatizaci pro tento postup ve velkém měřítku. Podrobnosti najdete v kurzu: Aktualizace aplikace ve službě Azure Kubernetes Service.
Trvalé úložiště Použijte virtuální pevný disk (VHD) pro místní úložiště pro jeden virtuální počítač nebo sdílenou složku SMB pro úložiště sdílenou více servery. Disky Azure použijte pro místní úložiště pro jeden uzel nebo soubory Azure (sdílené složky SMB) pro úložiště sdílené více uzly nebo servery.
Vyrovnávání zatížení Vyvážení zátěže virtuálních strojů přesune běžící virtuální stroje na jiné servery v clusteru s podporou převzetí služeb při selhání. Kontejnery se samy nepřesouvají; Orchestrátor může automaticky spouštět nebo zastavovat kontejnery na uzlech clusteru za účelem správy změn v zatížení a dostupnosti.
Odolnost proti chybám Virtuální počítače mohou přejít na jiný server v clusteru, přičemž operační systém virtuálního počítače se na novém serveru znovu restartuje. Pokud uzel clusteru selže, všechny kontejnery spuštěné v něm se orchestrátorem rychle znovu vytvoří na jiném uzlu clusteru.
Síťování Používá virtuální síťové adaptéry. Používá izolované zobrazení virtuálního síťového adaptéru, které poskytuje o něco méně virtualizace – brána firewall hostitele se sdílí s kontejnery, přičemž se spotřebovává méně prostředků. Další informace naleznete v tématu síť kontejnerů pro Windows.