GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Introduzione a .NET Core e Docker e al registro dei contenitori Microsoft

È semplicissimo iniziare con .NET Core e/o ASP.NET Core con Docker. Se hai installato Docker non è necessario installare nulla per provare .NET Core, ovviamente.

Per eseguire una piccola app console .NET Core:

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

E il risultato:

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

Per eseguire un piccolo sito Web ASP.NET Core veloce basta:

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

Ed eccolo in esecuzione su localhost:8000

Puoi anche ospitare immagini ASP.NET Core con Docker su HTTPS con questa immagine o eseguire app ASP.NET Core in contenitori di Windows.

Tieni presente che i team Microsoft stanno ora pubblicando le immagini del contenitore nell'MCR (Microsoft Container Registry) in modo che possano usare la rete CDN di Azure ed eseguire il pull più velocemente quando sono più vicini a te a livello globale. Le immagini iniziano su MCR e quindi possono essere inviate in syndication ad altri registri di container.

Seguono i nuovi repo:

  • Dipendenze di .NET Core Runtime (solo le cose di cui .NET Core ha bisogno, ma non .NET Core stesso - utili se vuoi distribuire la tua copia e vuoi comunque una piccola dimensione dell'immagine del contenitore)
  • Runtime .NET Core (proprio ciò che è necessario per eseguire un'app .NET Core)
  • .NET Core SDK (include i compilatori, tutto)
  • Runtime ASP.NET Core (tutto ciò di cui hai bisogno per ESEGUIRE la tua app Web ASP.NET Core)

Quando esegui il "docker pull" puoi utilizzare le stringhe di tag per .NET Core e funziona su qualsiasi versione di .NET Core supportata

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

Ad esempio, posso eseguire .NET Core 3.0 SDK e scherzare con esso in questo modo:

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

Ho utilizzato Docker per eseguire i miei unit test sul mio sito di podcast all'interno di un contenitore in locale. Quindi monto il volume e scarico i risultati del test in una cartella locale e li ispeziono con 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

Posso quindi ospitare il contenitore Docker in Servizio app di Azure per contenitori o piccole istanze fatturate una tantum al secondo con Istanze di contenitore di Azure (ACI).

Hai utilizzato .NET Core in Docker? Come è andata per te?

Sponsor: Gestisci le richieste pull di GitHub direttamente dall'IDE con l'ultimo JetBrains Rider. Anche un profiler delle prestazioni integrato su Windows viene in soccorso.


Docker
  1. Introduzione al desktop GNOME Linux

  2. Iniziare con il comando tac di Linux

  3. Iniziare con il window manager i3 su Linux

  4. La differenza tra CMD e ENTRYPOINT nelle immagini Docker

  5. Rilevamento che un'app .NET Core è in esecuzione in un contenitore Docker e SkippableFacts in XUnit

Procedura:Introduzione a Windows Containers e Docker

Sviluppo su Docker con i nuovi e migliorati Visual Studio Container Tools (e WSL2)

.NET Core e Docker

Creazione, esecuzione e test di .NET Core e ASP.NET Core 2.1 in Docker su un Raspberry Pi (ARM32)

.NET e Docker

Esplorazione di ASP.NET Core con Docker in entrambi i contenitori Linux e Windows