Welk besturingssysteem moet worden gericht met .NET-containers
Tip
Deze inhoud is een fragment uit het eBook, .NET Microservices Architecture for Containerized .NET Applications, beschikbaar op .NET Docs of als een gratis downloadbare PDF die offline kan worden gelezen.
Gezien de diversiteit van besturingssystemen die worden ondersteund door Docker en de verschillen tussen .NET Framework en .NET 8, moet u zich richten op een specifiek besturingssysteem en specifieke versies, afhankelijk van het framework dat u gebruikt.
Voor Windows kunt u Windows Server Core of Windows Nano Server gebruiken. Deze Windows-versies bieden verschillende kenmerken (IIS in Windows Server Core versus een zelf-hostende webserver zoals Kestrel in Nano Server) die mogelijk nodig zijn voor .NET Framework of .NET 8.
Voor Linux zijn er meerdere distributies beschikbaar en ondersteund in officiële .NET Docker-installatiekopieën (zoals Debian).
In afbeelding 3-1 ziet u de mogelijke versie van het besturingssysteem, afhankelijk van het gebruikte .NET Framework.
Afbeelding 3-1. Besturingssystemen die moeten worden gericht, afhankelijk van versies van .NET Framework
Wanneer u verouderde .NET Framework-toepassingen implementeert, moet u Windows Server Core targeten, compatibel met verouderde apps en IIS, maar deze heeft een grotere installatiekopieën. Wanneer u .NET 8-toepassingen implementeert, kunt u zich richten op Windows Nano Server, dat is geoptimaliseerd voor de cloud, gebruikmaakt van Kestrel en kleiner is en sneller wordt gestart. U kunt zich ook richten op Linux, ondersteuning voor Debian, Alpine en andere.
U kunt ook uw eigen Docker-installatiekopieën maken in gevallen waarin u een andere Linux-distributie wilt gebruiken of waar u een installatiekopieën wilt maken met versies die niet door Microsoft worden geleverd. U kunt bijvoorbeeld een installatiekopieën maken met ASP.NET Core die wordt uitgevoerd op het traditionele .NET Framework en Windows Server Core. Dit is een niet-zo gebruikelijk scenario voor Docker.
Wanneer u de naam van de installatiekopie toevoegt aan uw Dockerfile-bestand, kunt u het besturingssysteem en de versie selecteren, afhankelijk van de tag die u gebruikt, zoals in de volgende voorbeelden:
Image | Opmerkingen |
---|---|
mcr.microsoft.com/dotnet/runtime:8.0 | .NET 8 multi-architecture: ondersteunt Linux en Windows Nano Server, afhankelijk van de Docker-host. |
mcr.microsoft.com/dotnet/aspnet:8.0 | ASP.NET Core 8.0 multi-architecture: ondersteunt Linux en Windows Nano Server, afhankelijk van de Docker-host. De aspnetcore-installatiekopieën hebben enkele optimalisaties voor ASP.NET Core. |
mcr.microsoft.com/dotnet/aspnet:8.0-bullseye-slim | .NET 8 runtime-only op Linux Debian-distributie |
mcr.microsoft.com/dotnet/aspnet:8.0-nanoserver-1809 | Alleen .NET 8 runtime op Windows Nano Server (Windows Server versie 1809) |