Sdílet prostřednictvím


Image kontejneru .NET

.NET poskytuje různé image kontejneru pro různé scénáře. Tento článek popisuje různé typy obrázků a způsob jejich použití. Další informace o oficiálních imaginách najdete v úložišti Docker Hub: Microsoft .NET.

Schéma označování

Počínaje platformou .NET 8 jsou image kontejnerů více pragmatičtější v tom, jak se rozlišují. K rozlišení obrázků se používají následující charakteristiky:

  • Identifikátor cílového rozhraní (TFM) aplikace.
  • Operační systém, verze a architektura.
  • Typ obrázku (například runtime, aspnet, sdk).
  • Varianta obrázku (například *-distroless, *-chiseled).
  • Funkce obrázku (např. *-aot, *-extra).

Obrázky optimalizované pro velikost

Následující obrázky jsou zaměřeny na dosažení co nejmenší velikosti obrázku.

  • Alpský
  • Námořní distroless
  • Ubuntu vytvarovaný

Tyto image jsou menší, protože nezahrnují závislosti globalizace, jako jsou ICU nebo tzdata. Tyto image fungují jenom s aplikacemi, které jsou nakonfigurované pro invariantní režim globalizace. Pokud chcete nakonfigurovat aplikaci pro invariantní globalizaci, přidejte do souboru projektu následující vlastnost:

<PropertyGroup>
  <InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>

Spropitné

Obrázky SDK nejsou produkovány pro typy obrázků *-distroless ani *-chiseled. Složené obrázky představují nejmenší aspnet nabídku pro Core CLR.

Obrázky vhodné pro globalizaci

Kontejnerizované aplikace, které vyžadují globalizaci, zvětšují velikost obrazu, protože vyžadují závislosti globalizace. Image Ubuntu a Debian už mají nainstalované ICU a tzdata.

Závislost tzdata byla přidána k následujícím obrazům.

  • runtime-deps:8.0-jammy
  • runtime-deps:8.0-bookworm-slim

Tuto taktiku globalizace používají obrázky runtime, aspneta sdk se stejným označením.

Důležitý

Přidání tzdata do obrázků Debian bookworm nemá žádný praktický účinek, pokud není k dispozici aktualizace tzdata (která ještě není součástí Debianu), v tomto okamžiku by obrázky .NET obsahovaly novější tzdata.

Některé balíčky jsou stále volitelné, například Kerberos, LDAP a msquic. Tyto balíčky jsou vyžadovány pouze ve scénářích výklenek.

Obrázky založené na scénářích

Image runtime-deps mají významnou hodnotu, zejména proto, že obsahují standardní definice uživatele a portu. Jsou vhodné pro samostatné a nativní scénáře AOT. Pouze poskytování runtime-deps image, které jsou potřebné modulem runtime a sdk, není dostačující k tomu, aby bylo možné povolit všechny představitelné scénáře nebo generovat optimální image.

Potřeba runtime-deps se vztahuje také na nativní typy imagí AOT, *-distrolessa *-chiseled. Pro každý operační systém jsou k dispozici tři varianty imagí (všechny v runtime-deps). Podívejte se na následující příklad s použitím obrázků *-chiseled:

  • 8.0-jammy-chiseled: Image pro Core CLR, žádná data tzdata ani ICU.
  • 8.0-jammy-chiseled-aot: Obrazy pro nativní AOT, žádná tzdata, ICU nebo stdc++.
  • 8.0-jammy-chiseled-extra: Obraz pro Core CLR i nativní AOT, zahrnující tzdata, ICU a stdc++.

Z hlediska scénářů:

Obrázky 8.0-jammy-chiseled jsou základem pro obrázky runtime a aspnet stejné značky. Ve výchozím nastavení můžou nativní aplikace AOT používat image 8.0-jammy-chiseled-aot, protože je optimalizovaná pro velikost. Nativní aplikace AOT a aplikace core CLR s vlastním obsahem nebo jednosouborové aplikace, které vyžadují funkce globalizace, mohou používat 8.0-jammy-chiseled-extra.

Obrázky Alpine a Mariner používají stejné schéma.

Poznámka

Debian a Ubuntu (nevyřezávané) runtime-deps image nemají více variant.

Nativní image kontejneru AOT

Nativní image AOT se publikují do úložiště sdk a jsou označené příponou -aot. Tyto image umožňují vytvářet nativní aplikace AOT. Vytvoří se pro distribuce s odpovídajícími runtime-deps:*-aot obrázky. Tyto image jsou velké, obvykle dvakrát větší než běžné image sady SDK.

Image AOT se publikují pro:

  • Alpský
  • Námořník
  • Ubuntu

Další informace naleznete v tématu nativní nasazení AOT.

Úložiště centra Dockeru

Všechny oficiální imagety Microsoftu pro .NET jsou publikovány v organizaci microsoft-dotnet Docker Hub. Zvažte následující úložiště.

stabilní úložiště obrazů .NET:

Úložiště imagí Obraz
SDK mcr.microsoft.com/dotnet/sdk
aspnet mcr.microsoft.com/dotnet/aspnet
runtime mcr.microsoft.com/dotnet/runtime
runtime závislosti mcr.microsoft.com/dotnet/runtime-deps
monitorování mcr.microsoft.com/dotnet/monitor
řídicího panelu mcr.microsoft.com/dotnet/aspire-dashboard
ukázky mcr.microsoft.com/dotnet/samples

úložiště imagí .NET pro noční použití:

Úložiště imagí Obraz
noční sestavení ASP.NET mcr.microsoft.com/dotnet/nightly/aspnet
monitor noční mcr.microsoft.com/dotnet/nightly/monitor
nočních modulů runtime mcr.microsoft.com/dotnet/nightly/runtime-deps
noční spuštění mcr.microsoft.com/dotnet/nightly/runtime
noční SDK mcr.microsoft.com/dotnet/nightly/sdk
noční řídicího panelu mcr.microsoft.com/dotnet/nightly/aspire-dashboard

Úložiště obrázků rozhraní .NET Framework :

Úložiště imagí Obrázek
architektury mcr.microsoft.com/dotnet/framework
platforma-aspnet mcr.microsoft.com/dotnet/framework/aspnet
framework-runtime mcr.microsoft.com/dotnet/framework/runtime
ukázky architektury mcr.microsoft.com/dotnet/framework/samples
framework-sdk mcr.microsoft.com/dotnet/framework/sdk
rámec pro Windows Communication Foundation (WCF) mcr.microsoft.com/dotnet/framework/wcf

Viz také