Sdílet prostřednictvím


Oficiální image .NET 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.

Architektura mikroslužeb .NET pro kontejnerizované eBooky aplikací .NET

Oficiální image Dockeru .NET jsou image Dockeru vytvořené a optimalizované Microsoftem. Jsou veřejně dostupné na Registr artefaktů Microsoft. V katalogu můžete vyhledat všechna úložiště imagí .NET, například úložiště sady .NET SDK .

Každé úložiště může obsahovat více imagí v závislosti na verzích .NET a v závislosti na operačním systému a verzích (Linux Debian, Linux Alpine, Windows Nano Server, Windows Server Core atd.). Úložiště imagí poskytují rozsáhlé označování, které vám pomůžou vybrat nejen konkrétní verzi architektury, ale také zvolit operační systém (linuxovou distribuci nebo verzi Windows).

Optimalizace imagí .NET a Dockeru pro vývoj a produkční prostředí

Při vytváření imagí Dockeru pro vývojáře se Microsoft zaměřil na následující hlavní scénáře:

  • Image používané k vývoji a sestavování aplikací .NET

  • Image používané ke spouštění aplikací .NET

Proč více obrázků? Při vývoji, sestavování a spouštění kontejnerizovaných aplikací máte obvykle různé priority. Poskytnutím různých imagí pro tyto samostatné úlohy pomáhá Microsoft optimalizovat samostatné procesy vývoje, sestavování a nasazování aplikací.

Během vývoje a sestavování

Během vývoje je důležité, jak rychle můžete iterovat změny a schopnost ladit změny. Velikost obrázku není tak důležitá jako schopnost provádět změny kódu a rychle vidět změny. Některé nástroje a kontejnery build-agentů používají vývojovou image .NET (mcr.microsoft.com/dotnet/sdk:8.0) během procesu vývoje a sestavení. Při sestavování uvnitř kontejneru Dockeru jsou důležité aspekty prvky potřebné ke kompilaci vaší aplikace. To zahrnuje kompilátor a všechny ostatní závislosti .NET.

Další skvělou možností je vývojových kontejnerů. Tyto kontejnery jsou předem připravená vývojová prostředí, která jsou připravená k použití – nemusíte se starat o závislosti a konfigurace. Jsou také snadno přizpůsobitelné tak, aby zahrnovaly další nástroje nebo závislosti. Vývojové kontejnery poskytují konzistentní a reprodukovatelné nastavení, které je snadné sdílet s týmem. Vývojové kontejnery odpovídají specifikaci vývojového kontejneru a mnoho oblíbených vývojářských nástrojů, včetně editoru Visual Studio Code a GitHub Codespaces, je podporuje. Vývojové kontejnery .NET jsou založené na imagi sady .NET SDK a zahrnují sadu .NET SDK, modul runtime a další nástroje, které potřebujete k vývoji aplikací .NET.

Proč je tento typ image sestavení důležitý? Tuto image nenasazujete do produkčního prostředí. Místo toho se jedná o image, kterou použijete k sestavení obsahu, který umístíte do produkční image. Tato image by se použila v prostředí kontinuální integrace (CI) nebo při použití vícefázových sestavení Dockeru.

Při produkci

V produkčním prostředí je důležité, jak rychle můžete nasazovat a spouštět kontejnery na základě produkční image .NET. Proto je image určená jen pro modul runtime založená na mcr.microsoft.com/dotnet/aspnet:8.0 malá, takže může rychle přecházet přes síť z registru Dockeru do hostitelů Dockeru. Obsah je připravený ke spuštění a umožňuje nejrychlejší čas od spuštění kontejneru až po zpracování výsledků. V modelu Dockeru není nutné kompilovat z kódu jazyka C#, protože při spuštění sestavení dotnet nebo publikování dotnet při použití kontejneru sestavení.

V tomto optimalizovaném obrázku vložíte jenom binární soubory a další obsah potřebný ke spuštění aplikace. Například obsah vytvořený pomocí dotnet publish kompilovaných binárních souborů ,NET, obrázků, .js a .css souborů. V průběhu času uvidíte image, které obsahují předem zastřežené balíčky (kompilace z IL na nativní balíčky, ke kterým dochází za běhu).

I když existuje více verzí imagí .NET a ASP.NET Core, všechny sdílejí jednu nebo více vrstev, včetně základní vrstvy. Proto je množství místa na disku potřebné k uložení image malé; skládá se pouze z rozdílu mezi vlastní imagí a její základní imagí. Výsledkem je, že je rychlé načíst image z registru.

Když prozkoumáte úložiště imagí .NET na Registr artefaktů Microsoft, najdete několik verzí imagí klasifikovaných nebo označených značkami. Tyto značky vám pomůžou rozhodnout, kterou verzi použít, v závislosti na verzi, kterou potřebujete, například v následující tabulce:

Image Komentáře
mcr.microsoft.com/dotnet/aspnet:8.0 ASP.NET Core, pouze s optimalizacemi runtime a ASP.NET Core v Linuxu a Windows (více archů)
mcr.microsoft.com/dotnet/sdk:8.0 .NET 8 se zahrnutými sadami SDK v Linuxu a Windows (více archů)

Všechny dostupné image Dockeru najdete v dotnet-dockeru a můžete se také podívat na nejnovější verze Preview pomocí nočního sestavení. mcr.microsoft.com/dotnet/nightly/*