Megosztás a következőn keresztül:


.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

Lásd még: