GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Premiers pas avec .NET Core et Docker et le registre de conteneurs Microsoft

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.


Docker
  1. Premiers pas avec le bureau GNOME Linux

  2. Premiers pas avec la commande Linux tac

  3. Premiers pas avec le gestionnaire de fenêtres i3 sous Linux

  4. La différence entre CMD et ENTRYPOINT dans les images Docker

  5. Détecter qu'une application .NET Core est en cours d'exécution dans un conteneur Docker et SkippableFacts dans XUnit

Comment :démarrer avec les conteneurs Windows et Docker

Développement sur Docker avec les nouveaux outils de conteneur Visual Studio améliorés (et WSL2)

.NET Core et Docker

Création, exécution et test de .NET Core et ASP.NET Core 2.1 dans Docker sur un Raspberry Pi (ARM32)

.NET et Docker

Explorer ASP.NET Core avec Docker dans les conteneurs Linux et Windows