Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Conseil / Astuce
Ce contenu est un extrait du livre électronique 'Architecture des microservices .NET pour les applications .NET conteneurisées', disponible sur .NET Docs ou en tant que PDF téléchargeable gratuitement, lisible hors ligne.
Étant donné la diversité des systèmes d’exploitation pris en charge par Docker et les différences entre .NET Framework et .NET 8, vous devez cibler un système d’exploitation spécifique et des versions spécifiques en fonction du framework que vous utilisez.
Pour Windows, vous pouvez utiliser Windows Server Core ou Windows Nano Server. Ces versions de Windows fournissent différentes caractéristiques (IIS dans Windows Server Core et un serveur web auto-hébergé comme Kestrel dans Nano Server) qui peuvent être nécessaires par .NET Framework ou .NET 8, respectivement.
Pour Linux, plusieurs distributions sont disponibles et prises en charge dans les images Docker .NET officielles (comme Debian).
Dans la figure 3-1, vous pouvez voir la version possible du système d’exploitation en fonction du .NET Framework utilisé.
Figure 3-1. Systèmes d’exploitation à cibler en fonction des versions du .NET Framework
Lorsque vous déployez des applications .NET Framework héritées, vous devez cibler Windows Server Core, compatible avec les applications héritées et IIS, mais elle a une image plus grande. Lors du déploiement d’applications .NET 8, vous pouvez cibler Windows Nano Server, qui est optimisé pour le cloud, utilise Kestrel et est plus petit et démarre plus rapidement. Vous pouvez également cibler Linux, prendre en charge Debian, Alpine et d’autres.
Vous pouvez également créer votre propre image Docker dans les cas où vous souhaitez utiliser une distribution Linux différente ou où vous souhaitez une image avec des versions non fournies par Microsoft. Par exemple, vous pouvez créer une image avec ASP.NET Core s’exécutant sur le .NET Framework traditionnel et Windows Server Core, ce qui est un scénario non courant pour Docker.
Lorsque vous ajoutez le nom de l’image à votre fichier Dockerfile, vous pouvez sélectionner le système d’exploitation et la version en fonction de la balise que vous utilisez, comme dans les exemples suivants :
Image | Commentaires |
---|---|
mcr.microsoft.com/dotnet/runtime:8.0 | .NET 8 multi-architecture : prend en charge Linux et Windows Nano Server en fonction de l’hôte Docker. |
mcr.microsoft.com/dotnet/aspnet:8.0 | ASP.NET multi-architecture Core 8.0 : prend en charge Linux et Windows Nano Server en fonction de l’hôte Docker. L’image aspnetcore a quelques optimisations pour ASP.NET Core. |
mcr.microsoft.com/dotnet/aspnet:8.0-bullseye-slim | .NET 8 uniquement en runtime sur la distribution Linux Debian |
mcr.microsoft.com/dotnet/aspnet:8.0-nanoserver-1809 | .NET 8 uniquement en runtime sur Windows Nano Server (version 1809 de Windows Server) |