Il est très facile de démarrer avec .NET Core et/ou ASP.NET Core avec Docker. Si Docker est installé, vous n'avez bien sûr pas besoin d'installer quoi que ce soit pour essayer .NET Core.
Pour exécuter une petite application de console .NET Core :
docker run --rm mcr.microsoft.com/dotnet/core/samples:dotnetapp
Et le résultat :
latest: Pulling from dotnet/core/samples
Hello from .NET Core!
...SNIP...
**Environment**
Platform: .NET Core
OS: Linux 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018
Pour exécuter un petit site Web ASP.NET Core rapide, procédez comme suit :
docker run -it --rm -p 8000:80 --name aspnetcore_sample mcr.microsoft.com/dotnet/core/samples:aspnetapp
Et ici, il s'exécute sur localhost :8000
Vous pouvez également héberger des images ASP.NET Core avec Docker sur HTTPS avec cette image ou exécuter des applications ASP.NET Core dans des conteneurs Windows.
Notez que les équipes Microsoft publient désormais des images de conteneurs sur le MCR (Microsoft Container Registry) afin qu'elles puissent utiliser le CDN Azure et tirer plus rapidement lorsqu'elles sont plus proches de vous dans le monde. Les images commencent au MCR et peuvent ensuite être syndiquées dans d'autres registres de conteneurs.
Les nouveaux dépôts suivent :
- Dépendances .NET Core Runtime (juste ce dont .NET Core a besoin, mais pas .NET Core lui-même - utile si vous souhaitez distribuer votre propre copie tout en souhaitant une petite taille d'image de conteneur)
- .NET Core Runtime (juste ce qu'il faut pour exécuter une application .NET Core)
- .NET Core SDK (inclut les compilateurs, tout)
- Exécution ASP.NET Core (tout ce dont vous avez besoin pour EXÉCUTER votre application Web ASP.NET Core)
Lorsque vous "tirez docker", vous pouvez utiliser des chaînes de balises pour .NET Core et cela fonctionne sur toutes les versions .NET Core prises en charge
- SDK :
docker pull mcr.microsoft.com/dotnet/core/sdk:2.1
- Exécution ASP.NET Core :
docker pull mcr.microsoft.com/dotnet/core/aspnet:2.1
- Exécution .NET Core :
docker pull mcr.microsoft.com/dotnet/core/runtime:2.1
- Dépendances d'exécution .NET Core :
docker pull mcr.microsoft.com/dotnet/core/runtime-deps:2.1
Par exemple, je peux exécuter le SDK .NET Core 3.0 et jouer avec comme ceci :
docker run -it mcr.microsoft.com/dotnet/core/sdk:3.0
J'utilise Docker pour exécuter mes tests unitaires sur mon site de podcast dans un conteneur local. Ensuite, je monte en volume et vide les résultats du test dans un dossier local et les inspecte avec Visual Studio
docker build --pull --target testrunner -t podcast:test .
docker run --rm -v c:\github\hanselminutes-core\TestResults:/app/hanselminutes.core.tests/TestResults podcast:test
Je peux alors soit héberger le conteneur Docker dans Azure App Service for Containers, soit en tant que petites instances facturées à la seconde avec Azure Container Instances (ACI).
Avez-vous utilisé .NET Core dans Docker ? Comment ça se passe pour vous ?
Parrain : Gérez les demandes d'extraction GitHub directement depuis l'IDE avec le dernier JetBrains Rider. Un profileur de performances intégré sur Windows vient également à la rescousse.