GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

Erste Schritte mit .NET Core und Docker und der Microsoft Container Registry

Der Einstieg in .NET Core und/oder ASP.NET Core mit Docker ist ganz einfach. Wenn Sie Docker installiert haben, müssen Sie natürlich nichts installieren, um .NET Core auszuprobieren.

So führen Sie eine kleine .NET Core-Konsolenanwendung aus:

docker run --rm mcr.microsoft.com/dotnet/core/samples:dotnetapp

Und das Ergebnis:

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

So führen Sie einfach eine schnelle kleine ASP.NET Core-Website aus:

docker run -it --rm -p 8000:80 --name aspnetcore_sample mcr.microsoft.com/dotnet/core/samples:aspnetapp

Und hier läuft es auf localhost:8000

Sie können mit diesem Image auch ASP.NET Core-Images mit Docker über HTTPS hosten oder ASP.NET Core-Apps in Windows-Containern ausführen.

Beachten Sie, dass Microsoft-Teams jetzt Container-Images in der MCR (Microsoft Container Registry) veröffentlichen, damit sie das Azure CDN verwenden und schneller ziehen können, wenn sie global näher bei Ihnen sind. Die Images beginnen bei MCR und können dann an andere Containerregistrierungen syndiziert werden.

Die neuen Repos folgen:

  • .NET Core Runtime-Abhängigkeiten (nur das, was .NET Core benötigt, aber nicht .NET Core selbst – nützlich, wenn Sie Ihre eigene Kopie verteilen und dennoch eine kleine Container-Image-Größe wünschen)
  • .NET Core Runtime (Nur das, was zum Ausführen einer .NET Core-App benötigt wird)
  • .NET Core SDK (enthält die Compiler, alles)
  • ASP.NET Core-Laufzeit (alles, was Sie zum Ausführen Ihrer ASP.NET Core-Webanwendung benötigen)

Beim „Docker-Pull“ können Sie Tag-Strings für .NET Core verwenden und es funktioniert in allen unterstützten .NET Core-Versionen

  • SDK: docker pull mcr.microsoft.com/dotnet/core/sdk:2.1
  • ASP.NET Core-Laufzeit: docker pull mcr.microsoft.com/dotnet/core/aspnet:2.1
  • .NET Core-Laufzeit: docker pull mcr.microsoft.com/dotnet/core/runtime:2.1
  • .NET Core-Laufzeitabhängigkeiten: docker pull mcr.microsoft.com/dotnet/core/runtime-deps:2.1

Beispielsweise kann ich das .NET Core 3.0 SDK ausführen und wie folgt damit herumspielen:

docker run -it mcr.microsoft.com/dotnet/core/sdk:3.0 

Ich habe Docker verwendet, um meine Komponententests auf meiner Podcast-Site in einem Container lokal auszuführen. Dann lade ich die Testergebnisse auf ein Volume, speichere sie in einem lokalen Ordner und prüfe sie mit 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

Ich kann den Docker-Container dann entweder in Azure App Service for Containers hosten oder als kleine einmalige pro Sekunde abgerechnete Instanzen mit Azure Container Instances (ACI).

Haben Sie .NET Core in Docker verwendet? Wie ist es für dich gelaufen?

Sponsor: Verwalten Sie GitHub-Pull-Requests direkt in der IDE mit dem neuesten JetBrains Rider. Ein integrierter Performance-Profiler unter Windows kommt ebenfalls zu Hilfe.


Docker
  1. Erste Schritte mit dem GNOME-Linux-Desktop

  2. Erste Schritte mit dem Linux-tac-Befehl

  3. Erste Schritte mit dem i3 Window Manager unter Linux

  4. Der Unterschied zwischen CMD und ENTRYPOINT in Docker-Images

  5. Erkennen, dass eine .NET Core-App in einem Docker-Container ausgeführt wird, und SkipableFacts in XUnit

Gewusst wie:Erste Schritte mit Windows-Containern und Docker

Entwickeln auf Docker mit den neuen und verbesserten Visual Studio Container Tools (und WSL2)

.NET Core und Docker

Erstellen, Ausführen und Testen von .NET Core und ASP.NET Core 2.1 in Docker auf einem Raspberry Pi (ARM32)

.NET und Docker

Erkunden von ASP.NET Core mit Docker in Linux- und Windows-Containern