Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Télécharger Microsoft Edge
Plus d’informations sur Internet Explorer et Microsoft Edge
Ce contenu est un extrait du livre électronique « .NET Microservices Architecture for Containerized .NET Applications », disponible sur
.NET Docs
ou sous forme de PDF téléchargeable gratuitement et pouvant être lu hors ligne.
Télécharger le PDF
Les images officielles .NET Docker sont des images Docker créées et optimisées par Microsoft. Ils sont disponibles publiquement dans le
Registre des artefacts Microsoft
. Vous pouvez effectuer une recherche dans le catalogue pour trouver tous les référentiels d’images .NET, par exemple le référentiel du
kit de développement logiciel (SDK) .NET
.
Chaque référentiel peut contenir plusieurs images, en fonction des versions de .NET, du système d’exploitation et de ses versions (Linux Debian, Linux Alpine, Windows Nano Server, Windows Server Core, etc.). Les référentiels d’images fournissent un étiquetage complet, ce qui vous permet de sélectionner non seulement une version de framework spécifique, mais aussi un système d’exploitation (distribution Linux ou version de Windows).
Optimisations d’images .NET et Docker pour le développement et la production
Au moment de créer des images Docker pour développeurs, Microsoft s’est concentré sur les principaux scénarios suivants :
Images utilisées pour
développer
et générer des applications .NET
Images utilisées pour
exécuter
des applications .NET
Pourquoi plusieurs images ? En règle générale, vos propriétés varient selon que vous développez, générez ou exécutez des applications en conteneur. En proposant des images différentes en fonction des tâches, Microsoft permet d’optimiser ces processus distincts que sont le développement, la génération et le déploiement d’applications.
En phase de développement et de génération
En phase de développement, il importe d’itérer rapidement les modifications et de pouvoir les déboguer. La taille de l’image est moins importante que la possibilité d’apporter des modifications à votre code et de voir rapidement ces modifications. Certains outils et « conteneurs d’agent de build » utilisent l’image .NET de développement (
mcr.microsoft.com/dotnet/sdk:8.0
) lors du processus de développement et de génération. Ce qui importe au moment de générer à l’intérieur d’un conteneur Docker, ce sont les éléments nécessaires à la compilation de l’application. Il s’agit notamment du compilateur et des autres dépendances .NET.
Pourquoi ce type d’image de build est-il important ? Vous ne déployez pas cette image en production. En effet, il s’agit d’une image que vous utilisez pour générer le contenu que vous placez dans une image de production. Cette image est destinée à être utilisée dans votre environnement d’intégration continue (CI) ou votre environnement de génération quand vous utilisez des builds Docker à plusieurs phases.
En production
Ce qui importe en production, c’est la vitesse à laquelle vous pouvez déployer et démarrer vos conteneurs basés sur une image .NET de production. L’image de runtime uniquement basée sur
mcr.microsoft.com/dotnet/aspnet:8.0
est donc suffisamment petite pour transiter rapidement sur le réseau à partir de votre registre Docker vers vos hôtes Docker. Le contenu est prêt à s’exécuter, ce qui permet d’écourter au maximum la durée entre le démarrage du conteneur et le traitement des résultats. Dans le modèle Docker, il n’est pas nécessaire de compiler à partir de code C# comme c’est le cas lorsque vous exécutez la commande dotnet build ou dotnet publish en utilisant le conteneur de build.
Dans cette image optimisée, vous placez uniquement les fichiers binaires et le reste du contenu nécessaire à l’exécution de l’application. Par exemple, le contenu créé par la commande
dotnet publish
contient uniquement les fichiers binaires .NET compilés, des images et des fichiers .js et .css. Au fil du temps, vous verrez des images qui contiennent des packages prétraités avec JIT (la compilation du langage intermédiaire en code natif qui se produit à l’exécution).
Bien qu’il existe plusieurs versions des images .NET et ASP.NET Core, elles partagent toutes une ou plusieurs couches, dont la couche de base. Par conséquent, la quantité d’espace disque nécessaire au stockage d’une image est faible ; elle est uniquement constituée de la différence entre votre image personnalisée et son image de base. De ce fait, l’extraction de l’image de votre registre est très rapide.
En explorant les référentiels d’images .NET dans le Registre des artefacts Microsoft, vous trouverez plusieurs versions d’images classées ou étiquetées. Ces balises permettent d’identifier la version dont vous avez besoin, comme celles présentées dans le tableau suivant :
Image
Commentaires
mcr.microsoft.com/dotnet/aspnet:
8.0
ASP.NET Core, avec le runtime uniquement et les optimisations ASP.NET Core, Linux et Windows (multi-arch)
mcr.microsoft.com/dotnet/sdk:
8.0
.NET 8, avec les SDK inclus, sur Linux et Windows (multiarchitecture)
Vous trouverez toutes les images Docker disponibles dans
dotnet-docker
. Reportez-vous également aux dernières préversions à l’aide de la build nocturne
mcr.microsoft.com/dotnet/nightly/*
.
Précédent
Suivant
Bientôt disponible : tout au long de 2024, nous allons éliminer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d'informations, consultez :
https://aka.ms/ContentUserFeedback
.
Envoyer et afficher des commentaires pour
Ce produit