GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

Primeros pasos con .NET Core y Docker y Microsoft Container Registry

Es muy fácil comenzar con .NET Core y/o ASP.NET Core con Docker. Si tiene Docker instalado, no necesita instalar nada para probar .NET Core, por supuesto.

Para ejecutar una pequeña aplicación de consola .NET Core:

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

Y el resultado:

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

Para ejecutar un pequeño y rápido sitio web de ASP.NET Core solo:

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

Y aquí se ejecuta en localhost:8000

También puede alojar imágenes de ASP.NET Core con Docker a través de HTTPS con esta imagen o ejecutar aplicaciones de ASP.NET Core en contenedores de Windows.

Tenga en cuenta que los equipos de Microsoft ahora están publicando imágenes de contenedores en MCR (Microsoft Container Registry) para que puedan usar Azure CDN y extraer más rápido cuando están más cerca de usted a nivel mundial. Las imágenes comienzan en MCR y luego se pueden sindicar a otros registros de contenedores.

Los nuevos repositorios siguen:

  • Dependencias de .NET Core Runtime (solo lo que necesita .NET Core, pero no .NET Core en sí mismo; útil si desea distribuir su propia copia y aún desea un tamaño de imagen de contenedor pequeño)
  • .NET Core Runtime (justo lo que se necesita para ejecutar una aplicación .NET Core)
  • .NET Core SDK (incluye los compiladores, todo)
  • Tiempo de ejecución de ASP.NET Core (todo lo que necesita para EJECUTAR su aplicación web ASP.NET Core)

Cuando "docker pull", puede usar cadenas de etiquetas para .NET Core y funciona en cualquier versión compatible de .NET Core

  • SDK: docker pull mcr.microsoft.com/dotnet/core/sdk:2.1
  • Tiempo de ejecución de ASP.NET Core: docker pull mcr.microsoft.com/dotnet/core/aspnet:2.1
  • Tiempo de ejecución de .NET Core: docker pull mcr.microsoft.com/dotnet/core/runtime:2.1
  • Dependencias de tiempo de ejecución de .NET Core: docker pull mcr.microsoft.com/dotnet/core/runtime-deps:2.1

Por ejemplo, puedo ejecutar .NET Core 3.0 SDK y jugar con él de esta manera:

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

He estado usando Docker para ejecutar mis pruebas unitarias en mi sitio de podcast dentro de un contenedor localmente. Luego monto el volumen y descargo los resultados de la prueba en una carpeta local y los inspecciono 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

Luego, puedo alojar el contenedor Docker en Azure App Service for Containers o como pequeñas instancias únicas facturadas por segundo con Azure Container Instances (ACI).

¿Has estado usando .NET Core en Docker? ¿Cómo te ha ido?

Patrocinador: Administre las solicitudes de extracción de GitHub directamente desde el IDE con el último JetBrains Rider. Un generador de perfiles de rendimiento integrado en Windows también viene al rescate.


Docker
  1. Primeros pasos con el escritorio GNOME Linux

  2. Primeros pasos con el comando tac de Linux

  3. Primeros pasos con el administrador de ventanas i3 en Linux

  4. La diferencia entre CMD y ENTRYPOINT en Docker Images

  5. Detectar que una aplicación .NET Core se está ejecutando en un Docker Container y SkippableFacts en XUnit

Cómo:Introducción a los contenedores de Windows y Docker

Desarrollo en Docker con las nuevas y mejoradas Visual Studio Container Tools (y WSL2)

.NET Core y Docker

Creación, ejecución y prueba de .NET Core y ASP.NET Core 2.1 en Docker en una Raspberry Pi (ARM32)

.NET y Docker

Exploración de ASP.NET Core con Docker en contenedores de Linux y Windows