ASP.NET 5 contenedor de ejecución de aplicaciones multiplataforma Linux en Azure,

En el blog de uno previo , el artículo describe cómo a través de los Studio 2015 extensiones de herramientas virtuales de estibador en libertad a las aplicaciones ASP.NET Azure nube pública directamente en Windows Server 2016 contenedor TP3 de Windows, esto no es difícil de entender, después de todo, Windows Server el núcleo de windows se está ejecutando la aplicación .NET es necesario, sin embargo, aquí allanado el camino para un ASP.NET 5 (vNext) proyectos de código abierto en cuenta por DNX (.NET entorno entorno de ejecución de ejecución) compilará el sistema Bootstrap .NET aplicaciones, SDK herramientas y la capacidad de CLR multiplataforma, por lo que pueden publicar aplicación Web ASP.NET o un programa de consola 5 con el host o recipiente acoplable contiene el entorno de DNX de Linux o Mac OS; con la ayuda de la tecnología de contenedores, que proceso de alojamiento de aplicaciones realmente sólo multiplataforma y en entornos de nube, esto no es una cosa feliz que pensar? Ja, ja :) actualmente en DockerHub se ha lanzado ASP.NET imagen de vista previa de los contenedores acoplables .

 

A continuación introducirá dos maneras de cómo publicar sus propias aplicaciones ASP.NET 5 vista previa para ser alojada máquina virtual de Linux que se ejecuta en el contenedor azul nube pública, el cliente está utilizando mi entorno de cliente de prueba de la máquina de Windows 10, la primera manera de asegurarse de que los siguientes componentes en la máquina de prueba:

La primera manera tenemos que conseguir nuestro proyecto ASP.NET prueba a través del uso de estas herramientas, conexiones y construir nuestra liberación al final de las máquinas virtuales y construir acoplable Azure y ejecutar nuestro contenedor proyecto.

La segunda forma, por favor refiérase a mi blog anterior han instalado en la máquina de prueba Virtual Studio 2015 IDE de desarrollo y Virtual Studio 2015 extensión de la herramienta acoplable se puede construir una máquina virtual Linux y el proyecto acoplable para publicar directamente en Azure Azure en, y esto maneras ya no se necesitan componentes separados descritos anteriormente se pueden construir e implementar.

Por favor nota: la extensión del estibador también no apoyar la versión doméstica de Azure, por lo que los contenidos de este documento son la versión internacional de Azure tiene la función de implementar y probar esta función, es necesario un entorno de nube Azure suscripción versión internacional, y ASP.NET imagen del estibador 5 actualmente en fase de vista previa, incluso mi proceso de prueba y también se encontró resuelto algunos problemas, por lo que si usted está preocupado acerca de la tecnología y el proyecto, por favor continúe concentrando ventana acoplable Hub cambio, así repositorio Git de cambios del proyecto documentación.

 

El primer paso, pre-creado acoplable prepara en una máquina virtual Linux Azure

Tenemos que ser empaquetados aplicación a la imagen del contenedor ASPNET y en funcionamiento, en primer lugar necesidad de construir máquinas virtuales acoplable Linux alojados en entorno de Azure, porque el proceso es relativamente simple si no está claro cómo la operación se puede referir a este documento , crear un mercado directamente a través del portal de Azure . Si se hace referencia a mi blog anterior , también se puede extender por Virtual Studio estibador, elija entorno Linux imagen de máquina virtual puede ser, como se muestra a continuación en el paso de creación:

El entorno de prueba utilizada en este artículo es Ubuntu Server 15.04 liberación.

A continuación, ya sea uno desplegará ASP.NET 5 aplicaciones, somos todo lo que hemos construido en el despliegue Azure Linux acoplable entorno de máquina virtual para nuestra aplicación.

A continuación, vamos a introducir dos maneras:

1, para crear una imagen que contiene la aplicación ASP.NET se utiliza para crear el contenedor; mentiras encanto de una gran Estibador en la expansión del sistema de archivos AUFS por una capa de capa de la imagen expandida ligero, a través del cual podemos capa basada en una imagen original de una la construcción de una de las capas de nuestro paquete entorno de la aplicación en tiempo de ejecución normalizado, la imagen base aquí lo que necesitamos es microsoft / Red PEA proyecto de código abierto de una imagen , por lo que hacemos uso de Azure acoplable implementar la imagen en un entorno de máquina virtual en poco tiempo, después añadimos aplicaciones los envases creado una nueva imagen que se acaba de código el registro basado en él, no sólo es ligero sino también el proceso de implementación es muy rápido. Esta es la ventana acoplable en el entorno de código abierto uno tan popular de las razones.

imagen y base de despliegue añadir código de nuestro proceso, siempre y cuando declarativa Dockerfile proporcionada por acoplable puede ser construido, se detalla la sintaxis Dockerfile etc., pueden referirse al documento oficial del estibador , no entrar aquí.

De esta manera podemos probar referencia directa a la Red del PEA / home en el código de ejemplo de aplicaciones web , así que pusimos el proyecto a un clon bibliotecas locales Git,

git clone [email protected]: Red PEA / Home.git Red PEA-Home

En el entorno del proyecto, el proyecto se puede ver en los siguientes documentos:

Nos abrir y editar el directorio Dockerfile, modificado para que diga lo siguiente:

De Microsoft / aspnet

COPIA project.json / app /

WORKDIR / app

RUN [ "DNU", "restaurar"]

COPIAR . / app

EXPONER 5004

EntryPoint [ "dnx", "cernícalo"]

(Uso el tiempo para probar el fresco IDE libre, pero apoyar Dockerfile gramática IntelliSense virtual Código Studio , está interesado en usted puede también intentar ah! Ver más abajo)

Aquí están las cosas Dockerfile lo hizo construir un código de prueba añade obtener imágenes proceso general a explicar, en primer lugar para ayudarnos a encontrar y descargar desde Red PEA de DockerHub en: imagen de base para desplegar última última final de Azure acoplable entorno de máquina virtual.

A continuación, copie JSON nos ayudan a copiar archivos proyectos definida localmente para montar el directorio de imagen de base / aplicación para la implementación de aplicaciones DNU, junto WORKDIR el directorio de trabajo actual se establece en / app, ayuda COPIA / app nos puso la clonación actual. Git-código de ejemplo define subido a la imagen base directorio / app, y, finalmente, establece las escuchas servicio web externo en el puerto 5004, podemos mostrar a través de la figura siguiente Project.json en el puerto KESTREL aparece servicio ASPNet comenzó, y el contenedor entrada en el arranque es "dnx cernícalo" inicio cernícalo medio ambiente y project.json definido por la aplicación durante el inicio.

Pues bien, ahora tenemos la base para formar imágenes de entorno para aplicaciones de construcción que contienen código, incluyendo Dockerfile, project.json y nuestro proyecto de aplicación. Vamos a empezar la máquina virtual y se conectan Azure acoplable por el cifrado TLS acceso web RESTful acoplable Deamon llegar Dockerfile construir toda la imagen del estibador:

estibador --tlsverify -H tcp: // {Su Azure acoplable VM nombre DNS}: 2376 build miaplicacion -t.

Los siguientes son mi configuración de la prueba:

estibador --tlsverify -H tcp: //vnextserver.westus.cloudapp.azure.com: 2376 build miaplicacion -t.

Una vez completado, se puede ver la imagen de la Red del PEA: última expansión de las aplicaciones de imagen base y la imagen de prueba miaplicacion se ha creado.

A continuación, creamos un contenedor, siempre y cuando se ejecuta el proceso a través de esta imagen en él,

estibador --tlsverify -H tcp: // {Su Azure acoplable VM nombre DNS}: 2376 plazo -t -d -p 80: 5004 miaplicacion

La configuración de la prueba real:

docker --tlsverify -H tcp: //vnextserver.westus.cloudapp.azure.com: 2376 carrera -t -d -p 80: 5004 miaplicacion

Acoplable ejecuta en parámetros y métodos utilizados pueden consultar la documentación oficial , aquí a explicar brevemente, -t contenedor unido a una pseudo-tty, alegó que los parámetros del futuro ya no es necesario crear contenedores ASPNET.

representantes -d se pondrán en marcha en el fondo para cambiar el proceso de contenedor, especifica -p que el recipiente se expone a través de los puertos de Azure estibador del puerto de la máquina virtual, establezca aquí para mapear 80, prestar atención a las instrucciones especiales aquí, sensación de entorno de red de contenedores en la nube ¿le gustaría Inception oa través del agujero de gusano, al igual que, no queman la quemadura del cerebro podría ver nuestra situación y IQ, una broma, véase más adelante, trazar el nivel de la red tiene varios niveles por encima de comando completará la nave en servicio la asignación de puertos puerto externo 80 de la máquina virtual, pero si la red externa en servicio de acceso Azure, a continuación, también necesitan ser puertos externos a través de equilibrio de carga o de punto final de punto final asignada a la máquina virtual, además de posible estrategia de control para acceso a la red Azure NSG controlada por, etc. conocimientos relacionados a través de la parte de red de Azure , pero aquí se inicia la introducción, en el futuro para hacer más blog introducido lentamente.  

wKioL1XwARHg-Z_0AAGETcoOvIc927.jpg

 

Comprobar para ver si nuestros contenedores se han creado en funcionamiento,

cargador de muelle - tlsverify -H tcp: // {Su Azure acoplable VM nombre DNS}: 2.376 ps

La configuración de la prueba real:

cargador de muelle - tlsverify -H tcp: //vnextserver.westus.cloudapp.azure.com: 2,376 ps

80 máquina de puerto de acceso Azure virtual fuera de la red, y ahora nuestra aplicación de prueba ASPNET ya se está ejecutando en un entorno de nube Azure pública recipiente máquina virtual Linux, y cómo, nube multiplataforma a través de Misión cumplida :)

wKioL1XwAYOQ_t2aAAIG_e9lwxE991.jpg

A continuación, tenemos que introducir el segundo método, este enfoque es que se puede publicar ASP.NET para las máquinas virtuales acoplable Azure directamente a través del estudio virtual, debido al apoyo integrado para acoplable CLI, si usted no es acoplable usuario profundidad , se puede prestar más atención al código en sí, por lo que las herramientas IDE para ayudarle a publicar e implementar completar el trabajo, ¿cómo? Enfriarlo!

Aquí solamente para informarle sobre la publicación de método, que primero asegúrese de que hemos preparado de acuerdo con las necesidades de la pre-puesta en escena así máquinas virtuales Docker en Azure (por supuesto usaremos nuestro mejor esfuerzo para crear el IDE), y luego seguimos elíjame antes de su uso blog del proyecto WEB ASP NET, hacemos una pequeña modificación implementada en ella, creo que la versión actual de la herramienta de prueba para generar un pequeño insecto archivo project.json, por lo que tenemos que hacer cambios simples, este problema debe ser lanzado más adelante en Docker Virtual Studio 2015 herramientas de extensión resueltos.

project.json abierta en el proyecto de estudio virtual, modificar la sección siguiente figura:

wKioL1XwAb7xAspdAAJTr_Ese54883.jpg

Nota publicar el proyecto mediante la extensión de la herramienta para Azure, el puerto de contenedores y configurar el puerto al partido;

wKioL1XwAfrC24t5AAEi973eGoE315.jpg

 

Con el fin de determinar los proyectos que hemos publicado actualizaciones, simplemente modificar una página about.cshtml por Razor extensión de C # Formato HTML de código siguiente, se muestra el contenedor de la aplicación actual que se ejecuta:

wKiom1Xv__bglajAAADO1k9WSEE004.jpg

Y luego publicar nuestra aplicación, después de la liberación del acceso Azure acoplable máquina virtual fuera de la red para verificar, abrir el contenedor sobre la página se puede ver el nombre de la actualmente en ejecución:

wKiom1XwACyCWo57AAEcnXyyZv0495.jpg

Actualmente, comprobamos corriendo contenedor, bingo, es esto, hemos lanzado la actualización ya está en vigor.

wKioL1XwAoXh-XDAAACZM-IF_xc626.jpg

Escrito en el pasado, este blog para introducir el running en el despliegue en la nube Azure pública de plataforma cruzada de dos maneras ASP .NET 5 aplicación en un contenedor de Linux, a través de sentimiento personal es de hecho un estudio virtual 2015 + despliegue desarrollo arma, pero si usted es acoplable usuario profundidad, usando el primer método tampoco es gratis. Cabe señalar, imagen y proyectos de base de ASP .NET en curso y Virtual Studio 2015 herramientas de extensión del estibador están en continua actualización, por lo que su proceso de prueba o verificación puede variar ligeramente, se recomienda si usted está interesado en la constante preocupación de estos proyectos .

 

Supongo que te gusta

Origin www.cnblogs.com/si-yuan/p/12615837.html
Recomendado
Clasificación