Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
.NET biedt verschillende container images voor verschillende scenario's. In dit artikel worden de verschillende typen afbeeldingen beschreven en hoe ze worden gebruikt. Zie de Docker Hub: Microsoft .NET opslagplaats voor meer informatie over officiële images.
Taggingschema
Vanaf .NET 8 zijn container images pragmatischer in de manier waarop ze worden onderscheiden. De volgende kenmerken worden gebruikt om afbeeldingen te onderscheiden:
- Het doelframeworknaam (TFM) van de app.
- Het besturingssysteem, de versie en de architectuur.
- Het afbeeldingstype (bijvoorbeeld
runtime
,aspnet
,sdk
). - De afbeeldingsvariant (bijvoorbeeld
*-distroless
,*-chiseled
). - De afbeeldingsfunctie (bijvoorbeeld
*-aot
,*-extra
).
Afbeeldingen die zijn geoptimaliseerd voor grootte
De volgende afbeeldingen zijn gericht op het bereiken van de kleinste mogelijke afbeeldingsgrootte.
- Alpien
- Mariner zonder distributiesysteem
- Ubuntu gestroomlijnd
Deze afbeeldingen zijn kleiner, omdat ze geen globaliseringsafhankelijkheden zoals ICU of tzdata bevatten. Deze afbeeldingen werken alleen met apps die zijn geconfigureerd voor de invariante globalisatie-modus. Als u een app wilt configureren voor invariante globalisatie, voegt u de volgende eigenschap toe aan het projectbestand:
<PropertyGroup>
<InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>
Fooi
SDK-images worden niet geproduceerd voor *-distroless
- of *-chiseled
-imagetypen. Samengestelde afbeeldingen zijn het kleinste aspnet
aanbod voor Core CLR-.
Afbeeldingen die geschikt zijn voor globalisatie
In containers geplaatste apps waarvoor globalisering is vereist vergroten de grootte van de installatiekopieën, omdat ze globaliseringsafhankelijkheden vereisen. Ubuntu- en Debian-installatiekopieën hebben ICU en tzdata al geïnstalleerd.
De tzdata-afhankelijkheid is toegevoegd aan de volgende afbeeldingen:
runtime-deps:8.0-jammy
runtime-deps:8.0-bookworm-slim
Deze globalisatietactiek wordt gebruikt door runtime
, aspnet
en sdk
afbeeldingen met dezelfde tag.
Belangrijk
Het toevoegen van tzdata aan Debian bookworm-images heeft geen praktisch effect, tenzij er een update is van tzdata (die nog niet is opgenomen in Debian), op dat moment zouden .NET-images een nieuwere tzdata bevatten.
Sommige pakketten zijn nog steeds optioneel, zoals Kerberos, LDAP en msquic. Deze pakketten zijn alleen vereist in nichescenario's.
Op scenario's gebaseerde afbeeldingen
De runtime-deps--installatiekopieën hebben een aanzienlijke waarde, met name omdat ze een standaardgebruikers- en poortdefinitie bevatten. Ze zijn handig om te gebruiken voor zelfstandige en systeemeigen AOT-scenario's. Hoewel het verstrekken van alleen de runtime-deps
afbeeldingen die benodigd zijn door de runtime en SDK afbeeldingen niet voldoende is om alle denkbare scenario's te ondersteunen of optimale beelden te genereren.
De noodzaak voor runtime-deps
is ook van toepassing op systeemeigen AOT-, *-distroless
- en *-chiseled
afbeeldingstypen. Voor elk besturingssysteem worden er drie imagevarianten geleverd (allemaal in runtime-deps
). Bekijk het volgende voorbeeld met behulp van *-chiseled
afbeeldingen:
-
8.0-jammy-chiseled
: Afbeeldingen voor Core CLR, zonder tzdata of ICU. -
8.0-jammy-chiseled-aot
: Afbeeldingen voor native AOT, geen tzdata, ICU of stdc++. -
8.0-jammy-chiseled-extra
: Afbeelding voor zowel Core CLR als systeemeigen AOT, bevat tzdata, ICU en stdc++.
Wat betreft scenario's:
De 8.0-jammy-chiseled
-afbeeldingen vormen de basis voor de runtime
- en aspnet
-afbeeldingen van dezelfde tag. Standaard kunnen systeemeigen AOT-apps de 8.0-jammy-chiseled-aot
-afbeelding gebruiken, omdat deze geoptimaliseerd is qua grootte. Systeemeigen AOT-apps en zelfstandige Core CLR-apps met één bestand waarvoor globalisatiefuncties vereist zijn, kunnen gebruikmaken van 8.0-jammy-chiseled-extra
.
Alpine- en Mariner-afbeeldingen maken gebruik van hetzelfde schema.
Notitie
Debian en Ubuntu (niet-beiteld) runtime-deps
installatiekopieën hebben niet meerdere varianten.
Native AOT-containerafbeeldingen
Systeemeigen AOT-afbeeldingen worden gepubliceerd naar de sdk opslagplaats en gelabeld met het achtervoegsel -aot
. Met deze afbeeldingen kunt u systeemeigen AOT-apps bouwen. Ze worden gemaakt voor distro's met bijpassende runtime-deps:*-aot
afbeeldingen. Deze installatiekopieën zijn groot, meestal twee keer zo groot als gewone SDK-installatiekopieën.
AOT-afbeeldingen worden gepubliceerd voor:
- Alpien
- Zeeman (marinier)
- Ubuntu
Zie Native AOT-implementatievoor meer informatie.
Docker Hub-opslagplaatsen
Alle officiële Microsoft-afbeeldingen voor .NET worden gepubliceerd op de microsoft-dotnet Docker Hub-organisatie. Houd rekening met de volgende opslagplaatsen.
.NET stabiele opslagplaatsen voor installatiekopieën:
Afbeeldingbibliotheek | Beeld |
---|---|
sdk | mcr.microsoft.com/dotnet/sdk |
aspnet | mcr.microsoft.com/dotnet/aspnet |
runtime- | mcr.microsoft.com/dotnet/runtime |
runtime-afhankelijkheden | mcr.microsoft.com/dotnet/runtime-deps |
bewaken | mcr.microsoft.com/dotnet/monitor |
aspire-dashboard | mcr.microsoft.com/dotnet/aspire-dashboard |
voorbeelden | mcr.microsoft.com/dotnet/samples |
.NET-opslagplaatsen voor 's nachts uitgevoerde installatiekopieën:
Afbeeldingbibliotheek | Beeld |
---|---|
nightly-aspnet | mcr.microsoft.com/dotnet/nightly/aspnet |
nachtelijke monitor | mcr.microsoft.com/dotnet/nightly/monitor |
nightly-runtime-deps | mcr.microsoft.com/dotnet/nightly/runtime-deps |
nightly-runtime | mcr.microsoft.com/dotnet/nightly/runtime |
nightly-sdk | mcr.microsoft.com/dotnet/nightly/sdk |
nachtelijke-aspire-dashboard | mcr.microsoft.com/dotnet/nightly/aspire-dashboard |
.NET Framework-opslagplaatsen voor afbeeldingen :
Afbeeldingbibliotheek | Beeld |
---|---|
raamwerk | mcr.microsoft.com/dotnet/framework |
framework-aspnet | mcr.microsoft.com/dotnet/framework/aspnet |
framework-runtime | mcr.microsoft.com/dotnet/framework/runtime |
frameworkvoorbeelden | mcr.microsoft.com/dotnet/framework/samples |
framework-sdk | mcr.microsoft.com/dotnet/framework/sdk |
framework-wcf | mcr.microsoft.com/dotnet/framework/wcf |