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


Hivatalos .NET Docker-rendszerképek

Tipp.

Ez a tartalom egy részlet a .NET-alkalmazásokhoz készült .NET-alkalmazásokhoz készült eBook, .NET Microservices Architecture című eBookból, amely elérhető a .NET Docs-on vagy egy ingyenesen letölthető PDF-fájlként, amely offline módban is olvasható.

.NET mikroszolgáltatások architektúrája konténerizált .NET alkalmazásokhoz e-könyv borító miniatűr.

A hivatalos .NET Docker-rendszerképek a Microsoft által létrehozott és optimalizált Docker-rendszerképek. Nyilvánosan elérhetők Microsoft Eszközjegyzék. A katalógusban megkeresheti az összes .NET-rendszerképtárat, például a .NET SDK-adattárat .

Minden adattár több lemezképet tartalmazhat a .NET-verzióktól függően, valamint az operációs rendszertől és a verzióktól függően (Linux Debian, Linux Alpine, Windows Nano Server, Windows Server Core stb.). A rendszerképtárak széles körű címkézést biztosítanak, hogy ne csak egy adott keretrendszerverziót válasszanak, hanem az operációs rendszer (Linux-disztribúció vagy Windows-verzió) kiválasztását is.

.NET- és Docker-képoptimalizálás a fejlesztéshez és az éles környezethez

A Docker-rendszerképek fejlesztők számára történő létrehozásakor a Microsoft a következő fő forgatókönyvekre összpontosított:

  • .NET-alkalmazások fejlesztéséhez és létrehozásához használt képek.

  • .NET-alkalmazások futtatásához használt képek.

Miért több kép? Tárolóalapú alkalmazások fejlesztésekor, létrehozásakor és futtatásakor általában különböző prioritásokkal kell rendelkeznie. Azáltal, hogy különböző képeket biztosít ezekhez a különálló feladatokhoz, a Microsoft segít optimalizálni az alkalmazások fejlesztésének, létrehozásának és üzembe helyezésének különálló folyamatait.

A fejlesztés és a buildelés során

A fejlesztés során fontos, hogy milyen gyorsan tudja iterálni a változásokat, és hogy képes-e hibakeresést végezni a változásokon. A kép mérete nem olyan fontos, mint a kód módosítása és a módosítások gyors megtekintése. Egyes eszközök és "buildügynök-tárolók" a fejlesztési .NET-rendszerképet (mcr.microsoft.com/dotnet/sdk:8.0) használják a fejlesztési és buildelési folyamat során. Amikor egy Docker-tárolóban építkeznek, a fontos szempontok az alkalmazás fordításához szükséges elemek. Ez magában foglalja a fordítót és minden más .NET-függőséget.

Egy másik nagyszerű lehetőség a fejlesztési tárolók. Ezek a tárolók előre összeállított fejlesztési környezetek, amelyek használatra készek – nem kell aggódnia a függőségek és a konfigurációk miatt. Emellett könnyen testre szabhatók, hogy további eszközöket vagy függőségeket is tartalmazzanak. A fejlesztői tárolók egységes és reprodukálható beállítást biztosítanak, amely könnyen megosztható a csapatával. A fejlesztői tárolók megfelelnek a fejlesztői tároló specifikációjának, és számos népszerű fejlesztői eszköz, köztük a Visual Studio Code és a GitHub Codespace támogatja őket. A .NET fejlesztői tárolók a .NET SDK-lemezképen alapulnak, és tartalmazzák a .NET SDK-t, a futtatókörnyezetet és a .NET-alkalmazások fejlesztéséhez szükséges egyéb eszközöket.

Miért fontos az ilyen típusú buildkép? Ezt a lemezképet nem helyezheti üzembe éles környezetben. Ehelyett egy olyan rendszerképet használ, amellyel éles rendszerképbe építheti a tartalmat. Ez a rendszerkép a folyamatos integrációs (CI) környezetben vagy a buildkörnyezetben használható a Docker többfázisú buildjeinek használatakor.

Éles környezet

Az éles környezetben az a fontos, hogy milyen gyorsan helyezheti üzembe és indíthatja el a tárolókat egy éles .NET-rendszerkép alapján. Ezért a mcr.microsoft.com/dotnet/aspnet:8.0 alapuló futtatókörnyezeti rendszerkép kicsi, így gyorsan áthaladhat a hálózaton a Docker-beállításjegyzékből a Docker-gazdagépekre. A tartalom készen áll a futtatásra, ami lehetővé teszi a tároló elindításától az eredmények feldolgozásáig eltelt leggyorsabb időt. A Docker-modellben nincs szükség C#-kódból való fordításra, mivel a buildtároló használatakor dotnet buildelést vagy dotnet-közzétételt futtat.

Ebben az optimalizált képen csak a bináris fájlokat és az alkalmazás futtatásához szükséges egyéb tartalmakat helyezi el. A létrehozott dotnet publish tartalom például csak a lefordított .NET bináris fájlokat, képeket, .js és .css fájlokat tartalmazza. Idővel előre jitted (az IL-ből natív, futásidőben előforduló natív) csomagokat tartalmazó képek jelennek meg.

Bár a .NET és a ASP.NET Core rendszerképek több verziója is létezik, mindegyik egy vagy több réteggel rendelkezik, beleértve az alapréteget is. Ezért a rendszerkép tárolásához szükséges lemezterület kicsi; ez csak az egyéni rendszerkép és az alaprendszerkép közötti eltérésből áll. Ennek az az eredménye, hogy gyorsan lekérheti a rendszerképet a beállításjegyzékből.

Ha a .NET-rendszerképtárakat Microsoft Eszközjegyzék, több, címkével jelölt vagy besorolt képverziót talál. Ezek a címkék segítenek eldönteni, hogy melyiket használja a szükséges verziótól függően, például az alábbi táblázatban szereplőkkel:

Kép Megjegyzések
mcr.microsoft.com/dotnet/aspnet:8.0 ASP.NET Core csak futtatókörnyezettel és ASP.NET Core-optimalizálással Linuxon és Windowson (többíves)
mcr.microsoft.com/dotnet/sdk:8.0 .NET 8, SDK-kkal Linuxon és Windowson (többíves)

Az összes elérhető Docker-lemezkép megtalálható a dotnet-dockerben, és az éjszakai build használatával a legújabb előzetes kiadásokra is hivatkozhat.mcr.microsoft.com/dotnet/nightly/*