Habilite la compatibilidad con Docker para la aplicación ASP .NET Core

Comenzaremos con las preguntas más confusas sobre el servicio de contenedores:

  • ¿Cuál es la diferencia entre VM y Container?
  • ¿En qué se diferencia Docker para Windows de Docker en Windows?

Contenedor frente a máquina virtual

En pocas palabras, una máquina virtual proporciona una máquina abstracta que utiliza controladores de dispositivos que apuntan a la máquina abstracta, mientras que un contenedor proporciona un sistema operativo abstracto. Un entorno de máquina virtual paravirtualizado proporciona una capa de abstracción de hardware abstracta (HAL) que requiere controladores de dispositivo específicos de HAL. Las aplicaciones que se ejecutan en un entorno de contenedor comparten un sistema operativo subyacente, mientras que los sistemas de VM pueden ejecutar diferentes sistemas operativos. Por lo general, una máquina virtual alojará varias aplicaciones cuya combinación puede cambiar con el tiempo en comparación con un contenedor que normalmente tendrá una sola aplicación. Sin embargo, es posible tener un conjunto fijo de aplicaciones en un solo contenedor.

1.JPG

Los contenedores brindan una serie de ventajas sobre las máquinas virtuales y la más importante es la baja sobrecarga de los contenedores y, por lo tanto, la capacidad de iniciar nuevos contenedores rápidamente. Esto se debe a que iniciar el sistema operativo subyacente en una máquina virtual requiere tiempo, memoria y el espacio necesario para el almacenamiento en disco de la máquina virtual.

Docker para Windows vs Docker en Windows

Docker FOR Windows existe desde hace algún tiempo, desde la llegada de Docker Toolbox y su predecesor, Boot 2 Docker. Docker para Windows es un producto diseñado para ejecutar contenedores de Linux y Windows en Windows. No está diseñado para un entorno de producción y, en cambio, es la mejor manera de comenzar con Docker en sistemas Windows.

2.JPG

Docker ON Windows entró en disponibilidad general el 26 de septiembre de 2016. Docker ON Windows server es una implementación de Docker que se ejecutará en un servidor Windows sin ningún componente de Linux. Está hecho para ejecutar solo contenedores basados ​​en Windows.

3.JPG

Primeros pasos: instalar Docker ToolBox

Docker Toolbox es un instalador para configurar e iniciar rápidamente un entorno Docker en sistemas Mac y Windows más antiguos que no cumplen con los requisitos del nuevo Docker para Mac y Docker para Windows aplicaciones Docker Toolbox incluye las siguientes herramientas de Docker:

  • Cliente Docker CLI para ejecutar Docker Engine para crear imágenes y contenedores

  • Docker Machine para que pueda ejecutar comandos de Docker Engine desde terminales

  • Docker Compose para ejecutar el comando docker-compose

  • Kitematic, la GUI de Docker

  • Oracle VM Virtual Box

Debido a que el demonio de Docker Engine usa funciones de kernel específicas de Linux, no puede ejecutar Docker Engine de forma nativa en Windows. En su lugar, debe usar el comando Docker Machine, docker-machine, para crear y adjuntar una pequeña máquina virtual Linux (Boot2Docker) en su máquina.

https://docs.docker.com/toolbox/overview/

4.png

Puede iniciar la máquina virtual desde VM VirtualBox o iniciarla desde el terminal Docker QuickStart. Desde la Terminal, puede iniciar sesión de forma remota y segura en la máquina utilizando el protocolo SSH como se muestra a continuación:

$ docker-máquina ssh

Si tiene varias máquinas, primero debe encontrar el “nombre de su máquina”:

$ docker-máquina ls

NOMBRE CONDUCTOR ACTIVO ESTADO URL SWARM DOCKER ERRORES

predeterminado * virtualbox Ejecutando tcp://192.168.99.101:2376 v1.10.2

Puede ver que el valor predeterminado es el nombre de su máquina y puede hacer ssh de la siguiente manera:

$ docker-máquina ssh por defecto

Cuando estás dentro, es un caso simple de sudo para rootear

docker@predeterminado:~$ sudo -i

Boot2Docker versión 1.10.2, maestro de compilación: 611be10 – lunes 22 de febrero 22:47:06 UTC
2016

Docker versión 1.10.2, compilación c3959b1

root@predeterminado:~#

Agregue Dockerfile al directorio raíz de la aplicación .NET Core

Ahora vamos a crear una aplicación ASP .NET Core. En mi ejemplo, he escrito un controlador que acepta LoanKey y GlobalPropertyId y devuelve el Período de cobertura requerido. A continuación, agregue debajo de Dockerfile al directorio raíz de la aplicación. También puede agregar un archivo docker seleccionando la casilla de verificación Docker para Windows en la plantilla de la aplicación ASP .NET Core como se muestra a continuación:

plantilla.JPG

FROM microsoft/aspnetcore:1.0.1
WORKDIR /app
COPY published ./
ENTRYPOINT ["dotnet", "requiredcoverage.dll"]

Instrucciones para ejecutar la aplicación

Ejecute Docker Terminal y navegue hasta la raíz de la ubicación de la aplicación:

$ cd “F:\\requiredcoverage”

Siga estos pasos para compilar, publicar y ejecutar este ejemplo en un contenedor de Linux:

$ docker build -t requiredcoverage .
$ dotnet publish -o published
$ docker run -d -p 80:80 requiredcoverage

Validar contenedor Docker

5.png

6.png

7.png

Ver la página web que se ejecuta desde su contenedor

Si está utilizando un contenedor de Linux, simplemente puede navegar hasta http://localhost:80 para acceder a su aplicación en un navegador web.

8.png

Ejecutando el contenedor docker con un nuevo volumen.

$ ventana acoplable ejecutar -d -P –nombre rslog1 -v /rsvlog1 rsvlog1

Comando para detener todos los contenedores.

ventana acoplable parada $(ventana acoplable ps -a -q)

Similar Posts

Leave a Reply

Your email address will not be published.