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
, aspnet
a 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, *-distroless
a *-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 |