.NET-tárolórendszerképek
A .NET különböző tárolórendszerképeket biztosít különböző forgatókönyvekhez. Ez a cikk a különböző típusú képeket és azok használatát ismerteti. A hivatalos rendszerképekről további információt a Docker Hub: Microsoft .NET adattárában talál.
Címkézési séma
A .NET 8-tól kezdve a konténerképek pragmatikusabban különböztethetők meg. A képek megkülönböztetésére a következő jellemzők szolgálnak:
- Az alkalmazás célkeretrendszer-rövidítése (TFM).
- Az operációs rendszer, a verzió és az architektúra.
- A kép típusa (például
runtime
,aspnet
,sdk
). - A képvariáns (például
*-distroless
,*-chiseled
). - A kép funkció (például
*-aot
,*-extra
).
Méretre optimalizált képek
A következő képek a lehető legkisebb képméret elérésére irányulnak.
- Alpesi
- Mariner disztribúció nélküli
- Ubuntu Chiseled
Ezek a képek kisebbek, mivel nem tartalmaznak globalizációs függőségeket, például az ICU-t vagy a tzdata-t. Ezek a képek csak a globalizációs invariáns módra konfigurált alkalmazásokkal működnek. Az alkalmazás invariáns globalizációhoz való konfigurálásához adja hozzá a következő tulajdonságot a projektfájlhoz:
<PropertyGroup>
<InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>
Borravaló
Az SDK-képek nem *-distroless
vagy *-chiseled
képtípusokhoz készülnek. Az összetett képek a aspnet
legkisebb ajánlatot jelentik a Core CLResetében.
Globalizációra alkalmas képek
A globalizálást igénylő tárolóalapú alkalmazások növelik a kép méretét, mivel globalizációs függőségeket igényelnek. Az Ubuntu- és Debian-rendszerképek már telepítették az ICU-t és a tzdata-t.
A tzdata-függőség a következő képekhez lett hozzáadva:
runtime-deps:8.0-jammy
runtime-deps:8.0-bookworm-slim
Ezt a globalizációs taktikát ugyanazzal a címkével rendelkező runtime
, aspnet
és sdk
képek használják.
Fontos
A tzdata Debian bookworm-képekhez való hozzáadása nem gyakorol gyakorlati hatást, hacsak nincs frissítés a tzdata-ra (ez még nem szerepel a Debianban), ekkor a .NET-rendszerképek egy újabb tzdata-t tartalmaznak.
Néhány csomag továbbra is választható, például Kerberos, LDAP és msquic. Ezek a csomagok csak réshelyzetekben szükségesek.
Forgatókönyvalapú képek
A futtatókörnyezet-deps lemezképek jelentős értékkel rendelkeznek, különösen azért, mert szabványos felhasználó- és portdefiníciókat tartalmaznak. Kényelmesen használhatók önálló és natív AOT-forgatókönyvekhez. Azonban a futtatókörnyezeti és SDK képekhez szükséges runtime-deps
képek biztosítása önmagában nem elegendő ahhoz, hogy lehetővé tegyük az összes elképzelhető forgatókönyvet, mint ahogy az optimális képek létrehozását sem.
A runtime-deps
iránti igény natív AOT-, *-distroless
- és *-chiseled
képtípusokra is kiterjed. Minden operációs rendszer esetében három képvariáns érhető el (mind a runtime-deps
). Tekintse meg a következő példát *-chiseled
képek használatával:
-
8.0-jammy-chiseled
: Képfájlok a Core CLR-hez (központi CLR), nem szerepelnek tzdata vagy ICU. -
8.0-jammy-chiseled-aot
: Natív AOT-képek, tzdata, ICU vagy stdc++ nélkül. -
8.0-jammy-chiseled-extra
: Mind a Core CLR, mind a natív AOT rendszerkép tartalmazza a tzdata, ICU és stdc++ fájlokat.
A forgatókönyvek tekintetében:
A 8.0-jammy-chiseled
képek képezik az azonos címkével ellátott runtime
és aspnet
képek alapját. Alapértelmezés szerint a natív AOT-alkalmazások használhatják a 8.0-jammy-chiseled-aot
lemezképet, mivel méretre van optimalizálva. A natív AOT-alkalmazások és a Core CLR önálló/egyfájlos alkalmazások, amelyek globalizációs funkciókat igényelnek, használhatják a 8.0-jammy-chiseled-extra
-t.
Az Alpine és a Mariner rendszerképek ugyanazt a sémát használják.
Jegyzet
A Debian és az Ubuntu (non-chiseled) runtime-deps
képeknek nincs több változata.
Natív AOT-konténerképek
A natív AOT-rendszerképek közzé vannak téve az sdk adattárban, és a -aot
utótaggal vannak megjelölve. Ezek a képek natív AOT-alkalmazások készítését teszik lehetővé. A rendszer egyező runtime-deps:*-aot
képekkel rendelkező disztribúciókhoz hozza létre őket. Ezek a képek nagyok, általában kétszer akkorák, mint a normál SDK-képek.
Az AOT-képek a következőkhöz vannak közzétéve:
- Alpesi
- Tengerész
- Ubuntu
További információkért lásd: AOT natív üzembe helyezés.
Docker Hub-adattárak
A .NET-hez készült összes hivatalos Microsoft-rendszerkép közzé lesz téve a Microsoft-dotnet Docker Hub-szervezet. Vegye figyelembe az alábbi adattárakat.
.NET stabil rendszerképtárak:
Képtár | Kép |
---|---|
sdk | mcr.microsoft.com/dotnet/sdk |
aspnet | mcr.microsoft.com/dotnet/aspnet |
futásidejű | mcr.microsoft.com/dotnet/runtime |
futtatási környezet függőségek | mcr.microsoft.com/dotnet/runtime-deps |
monitorozási | mcr.microsoft.com/dotnet/monitor |
aspire-dashboard | mcr.microsoft.com/dotnet/aspire-dashboard |
minták | mcr.microsoft.com/dotnet/samples |
.NET éjszakánkénti képtárak:
Képtár | Kép |
---|---|
éjszakai aspnet | mcr.microsoft.com/dotnet/nightly/aspnet |
éjszakai monitor | mcr.microsoft.com/dotnet/nightly/monitor |
éjszakai futásidejű függőségek | mcr.microsoft.com/dotnet/nightly/runtime-deps |
éjszakai futásidejű | mcr.microsoft.com/dotnet/nightly/runtime |
éjszakai SDK | mcr.microsoft.com/dotnet/nightly/sdk |
éjszakai Aspire-irányítópult | mcr.microsoft.com/dotnet/nightly/aspire-dashboard |
.NET-keretrendszer rendszerképtárai:
Képtár | Kép |
---|---|
keretrendszer | mcr.microsoft.com/dotnet/framework |
keretrendszer-aspnet | mcr.microsoft.com/dotnet/framework/aspnet |
framework-runtime | mcr.microsoft.com/dotnet/framework/runtime |
keretrendszerminták | mcr.microsoft.com/dotnet/framework/samples |
keretrendszer-sdk | mcr.microsoft.com/dotnet/framework/sdk |
framework-wcf | mcr.microsoft.com/dotnet/framework/wcf |