GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Začínáme s .NET Core a Dockerem a Microsoft Container Registry

Začít s .NET Core a/nebo ASP.NET Core s Dockerem je velmi snadné. Pokud máte nainstalovaný Docker, nemusíte k vyzkoušení .NET Core samozřejmě nic instalovat.

Chcete-li spustit malou konzolovou aplikaci .NET Core:

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

A výsledek:

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

Chcete-li spustit rychlý malý web ASP.NET Core:

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

A tady to běží na localhost:8000

S tímto obrazem můžete také hostovat obrazy ASP.NET Core pomocí Dockeru přes HTTPS nebo spouštět aplikace ASP.NET Core v kontejnerech Windows.

Všimněte si, že týmy Microsoftu nyní publikují obrázky kontejnerů do MCR (Microsoft Container Registry), takže mohou používat Azure CDN a rychleji stahovat, když jsou k vám globálně blíž. Obrázky začínají na MCR a poté mohou být syndikovány do jiných registrů kontejnerů.

Nové repozitáře následují:

  • Závislosti .NET Core Runtime (jen to, co .NET Core potřebuje, ale ne .NET Core samotné – užitečné, pokud chcete distribuovat vlastní kopii a přesto chcete mít malou velikost obrázku kontejneru)
  • .NET Core Runtime (přesně to, co je potřeba ke spuštění aplikace .NET Core)
  • .NET Core SDK (zahrnuje kompilátory, vše)
  • Běhové prostředí ASP.NET Core (vše, co potřebujete ke SPUŠTĚNÍ webové aplikace ASP.NET Core)

Když použijete "docker pull", můžete použít řetězce značek pro .NET Core a funguje to ve všech podporovaných verzích .NET Core

  • SDK: docker pull mcr.microsoft.com/dotnet/core/sdk:2.1
  • ASP.NET Core Runtime: docker pull mcr.microsoft.com/dotnet/core/aspnet:2.1
  • .NET Core Runtime: docker pull mcr.microsoft.com/dotnet/core/runtime:2.1
  • Závislosti .NET Core Runtime: docker pull mcr.microsoft.com/dotnet/core/runtime-deps:2.1

Mohu například spustit .NET Core 3.0 SDK a pohrát si s ním takto:

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

Docker používám ke spouštění testů jednotek na mém webu podcastu v rámci kontejneru lokálně. Poté připojím svazek a uložím výsledky testů do místní složky a zkontroluji je pomocí sady 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

Pak mohu buď hostovat kontejner Docker v Azure App Service for Containers, nebo jako malé jednorázové instance účtované za sekundu pomocí Azure Container Instances (ACI).

Používali jste .NET Core v Dockeru? Jak se vám dařilo?

Sponzor: Spravujte GitHub Pull Requests přímo z IDE s nejnovějším JetBrains Riderem. Integrovaný profilovač výkonu v systému Windows také přichází na pomoc.


Docker
  1. Začínáme s příkazem tac systému Linux

  2. Rozdíl mezi CMD a ENTRYPOINT v Docker Images

  3. Zjištění, že aplikace .NET Core běží v kontejneru Docker a SkippableFacts v XUnit

  1. Začínáme s pracovním prostředím GNOME Linux

  2. Začínáme s správcem oken i3 v systému Linux

  3. Jak aktualizovat obrázek a kontejner Dockeru na nejnovější verzi

  1. Začínáme s kontejnery LXD na Ubuntu 16.04

  2. Začínáme s předpřipravenými obrázky Docker

  3. Docker Tutorial – Začínáme s Dockerem v Linuxu