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árban talál.

Címkézési séma

A .NET 8-tól kezdve a tárolórendszerképek gyakorlatiasabbak a megkülönböztetésben. A képek megkülönböztetésére a következő jellemzők szolgálnak:

  • Az alkalmazás cél-keretrendszer-monikerje (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éretet eredményezik:

  • Alpesi
  • Mariner disztribúció nélküli
  • Ubuntu vésett

Ezek a képek kisebbek, mivel nem tartalmaznak globalizációs függőségeket, például ICU-t vagy 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>

Tipp.

Az SDK-rendszerképek nem készíthetők képtípusokhoz vagy *-chiseled képtípusokhoz*-distroless. Az összetett képek a Core CLR legkisebb aspnet ajánlatai.

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 használják runtimeaz azonos aspnetsdk címkével rendelkező képek.

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ú rendszerképek

A futtatókörnyezet-deps rendszerké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. A futtatókörnyezeti és sdk-rendszerképek által igényelt képek biztosítása runtime-deps azonban nem elegendő az összes elképzelhető forgatókönyv engedélyezéséhez vagy az optimális képek létrehozásához.

Az igény runtime-deps a natív AOT-ra és *-distroless*-chiseled a képtípusokra is kiterjed. Minden operációs rendszerhez három képvariánst biztosítunk (mind az operációs rendszerben runtime-deps). Tekintse meg a következő példát képek használatával *-chiseled :

  • 8.0-jammy-chiseled: Rendszerképek a Core CLR-hez, nincs 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: A core CLR és a natív AOT rendszerképe tzdata, ICU és stdc++.

A forgatókönyvek tekintetében:

A 8.0-jammy-chiseled képek az azonos címkével runtime ellátott képek alapjai aspnet és képei. Alapértelmezés szerint a natív AOT-alkalmazások használhatják a 8.0-jammy-chiseled-aot képet, mivel méretre van optimalizálva. A natív AOT-alkalmazások és a Core CLR olyan önálló/önálló fájlalkalmazásokat használhatnak 8.0-jammy-chiseled-extra, amelyek globalizációs funkciókat igényelnek.

Az Alpine és a Mariner rendszerképek ugyanazt a sémát használják.

Feljegyzés

A Debian és az Ubuntu (nem vésett) runtime-deps képeknek nincs több változata.

Natív AOT-tárolólemezképek

A natív AOT-rendszerképek közzé vannak téve az sdk-adattárban , és meg vannak címkézve az -aot utótaggal. Ezek a képek natív AOT-alkalmazások készítését teszik lehetővé. Ezek egyező runtime-deps:*-aot képekkel rendelkező disztribúciókhoz lettek létrehozva. 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
  • Mariner
  • Ubuntu

További információ: Natív AOT-telepíté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ében. Vegye figyelembe az alábbi adattárakat.

.NET stabil rendszerképtárak:

Képtár Kép
aspnet mcr.microsoft.com/dotnet/aspnet
Monitor mcr.microsoft.com/dotnet/monitor
monitor-base mcr.microsoft.com/dotnet/monitor/base
runtime-deps mcr.microsoft.com/dotnet/runtime-deps
Runtime mcr.microsoft.com/dotnet/runtime
Minták mcr.microsoft.com/dotnet/samples
Sdk mcr.microsoft.com/dotnet/sdk

.NET éjszakai képtárak:

Képtár Kép
Éjszakai mcr.microsoft.com/dotnet/nightly
éjszakai-aspnet mcr.microsoft.com/dotnet/nightly/aspnet
nightly-monitor-base mcr.microsoft.com/dotnet/nightly/monitor/base
éjszakai monitorozás mcr.microsoft.com/dotnet/nightly/monitor
éjszakai futásidejű deps mcr.microsoft.com/dotnet/nightly/runtime-deps
éjszakai futásidejű mcr.microsoft.com/dotnet/nightly/runtime
éjszakai sdk mcr.microsoft.com/dotnet/nightly/sdk

.NET-keretrendszer képtárak:

Képtár Kép
keretrendszer mcr.microsoft.com/dotnet/framework
framework-aspnet mcr.microsoft.com/dotnet/framework/aspnet
framework-runtime mcr.microsoft.com/dotnet/framework/runtime
keretrendszerminták mcr.microsoft.com/dotnet/framework/samples
framework-sdk mcr.microsoft.com/dotnet/framework/sdk
framework-wcf mcr.microsoft.com/dotnet/framework/wcf

Lásd még