Compartir vía


Inicio rápido: Ejecución de un contenedor personalizado en Azure

En este inicio rápido, aprenderá a implementar una aplicación de ASP.NET en una imagen de Windows en Azure Container Registry desde Visual Studio. La aplicación se ejecuta en un contenedor personalizado en Azure App Service.

Azure App Service proporciona pilas de aplicaciones predefinidas en Windows que se ejecutan en Internet Information Services (IIS). Estas pilas de aplicaciones preconfiguradas bloquean el sistema operativo y evitan el acceso de bajo nivel.

Los contenedores personalizados de Windows no tienen estas restricciones. Los desarrolladores pueden usar contenedores personalizados para proporcionar a las aplicaciones en contenedores acceso completo a la funcionalidad de Windows.

Requisitos previos

Si ya ha instalado Visual Studio 2022:

  • Para instalar las actualizaciones más recientes de Visual Studio, seleccione Ayuda>Buscar actualizaciones.
  • Para agregar las cargas de trabajo en Visual Studio, seleccione Herramientas>Obtener herramientas y características.

Creación de una aplicación web de ASP.NET

  1. Abra Visual Studio y seleccione Crear un proyecto.

  2. En Crear un nuevo proyecto, seleccione ASP.NET Aplicación web (.NET Framework) para C#y, a continuación, seleccione Siguiente.

    Captura de pantalla que muestra el cuadro de diálogo Crear un nuevo proyecto.

  3. En Configure your new projectProject name (Configurar el nuevo> proyecto), asigne el nombre a la aplicación myfirstazurewebapp. En Framework, seleccione .NET Framework 4.8 y, a continuación, seleccione Crear.

    Captura de pantalla que muestra Configuración del proyecto de aplicación web.

  4. Puede implementar cualquier tipo de aplicación web de ASP.NET en Azure. Para este inicio rápido, seleccione la plantilla MVC .

  5. En Autenticación, seleccione Ninguna. En Avanzado, seleccione Compatibilidad con contenedores y desactive Configurar para HTTPS. Seleccione Crear.

    Captura de pantalla que muestra el cuadro de diálogo crear ASP.NET aplicación web.

  6. Si Dockerfile no se abre automáticamente, ábralo seleccionando Explorador de soluciones.

  7. Necesita una imagen principal compatible. Cambie la imagen primaria reemplazando la FROM línea por el código siguiente y guarde el archivo:

    FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
    
  8. En el menú de Visual Studio, seleccione Depurar>Iniciar sin depurar para ejecutar la aplicación web localmente.

    Captura de pantalla que muestra la aplicación que se ejecuta localmente.

Publicación en Azure Container Registry

  1. En el Explorador de soluciones, haga clic con el botón derecho en el myfirstazurewebapp proyecto y seleccione Publicar.

  2. En Destino, seleccione Container Registry para Docker y, después, seleccione Siguiente.

    Captura de pantalla que muestra la pantalla 'Seleccionar Docker Container Registry'.

  3. En Destino específico, seleccione Azure Container Registry y, después, seleccione Siguiente.

    Captura de pantalla que muestra el panel de vista general del proyecto con la opción Publicar.

  4. En Publicar, seleccione la suscripción correcta. Para crear un nuevo registro de contenedor, seleccione Crear nuevo en Registros de contenedor.

    Captura de pantalla que muestra la pantalla Crear nueva instancia de Azure Container Registry.

  5. En Crear nuevo, seleccione la suscripción correcta. En Grupo de recursos, seleccione Nuevo y escriba myResourceGroup el nombre. Después, selecciona Aceptar. En SKU, seleccione Básico. En Ubicación del Registro, seleccione una ubicación para el Registro y, a continuación, seleccione Crear.

    Captura de pantalla que muestra los detalles de Azure Container Registry.

  6. En Publicar, en Container Registry, seleccione el registro que creó y, a continuación, seleccione Finalizar.

    Recorte de pantalla que muestra la pantalla Seleccionar Azure Container Registry existente.

    Espere a que finalice la implementación. El panel Publicar muestra ahora el nombre del repositorio. Seleccione el botón Copiar para copiar el nombre del repositorio para más adelante.

    Captura de pantalla en la que se resalta el nombre del repositorio.

Creación de un contenedor personalizado con Windows

  1. Inicie sesión en Azure Portal.

  2. Seleccione Crear un recurso en la esquina superior izquierda de Azure Portal.

  3. En Servicios populares, seleccione Crear en Aplicación web.

  4. En Crear aplicación web, seleccione la suscripción y el grupo de recursos. Si es necesario, puede crear un grupo de recursos.

  5. Proporcione un nombre de aplicación, como win-container-demo. En Publicar, seleccione Contenedor. En Sistema operativo, seleccione Windows.

    Captura de pantalla que muestra cómo crear una aplicación web para contenedores.

  6. Seleccione Siguiente: Base de datos>Siguiente: Contenedor.

  7. En Origen de imagen, seleccione Docker Hub. En Imagen y etiqueta, escriba el nombre del repositorio que copió anteriormente en Publicar en Azure Container Registry.

    Captura de pantalla que muestra cómo configurar la aplicación web para contenedores.

    Si tiene una imagen personalizada para la aplicación web en otra ubicación, como en Azure Container Registry o en cualquier otro repositorio privado, puede configurarla aquí. Seleccione Revisar + crear.

  8. Compruebe todos los detalles y, a continuación, seleccione Crear.

    Captura de pantalla que muestra cómo crear la aplicación web para contenedores.

    Espere a que Azure cree los recursos necesarios.

Vaya al contenedor personalizado

Cuando finalice la operación, Azure Portal mostrará una notificación.

Captura de pantalla que muestra la implementación correcta.

  1. Haga clic en Ir al recurso.

  2. En la información general, siga el vínculo junto a Dominio predeterminado.

Se abre una nueva página del explorador.

Captura de pantalla que muestra el inicio de un contenedor personalizado de Windows.

Espere unos minutos y pruebe otra vez. Sigue intentando hasta que obtengas la página principal predeterminada de ASP.NET.

Captura de pantalla que muestra un contenedor personalizado de Windows en ejecución.

Consulta de los registros de inicio del contenedor

El contenedor de Windows puede tardar algún tiempo en cargarse. Para ver el progreso, vaya a la siguiente dirección URL reemplazando \<app_name> por el nombre de la aplicación.

https://<app_name>.scm.azurewebsites.net/api/logstream

Los registros transmitidos tienen este aspecto:

2018-07-27T12:03:11  Welcome, you are now connected to log-streaming service.
27/07/2018 12:04:10.978 INFO - Site: win-container-demo - Start container succeeded. Container: facbf6cb214de86e58557a6d073396f640bbe2fdec88f8368695c8d1331fc94b
27/07/2018 12:04:16.767 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.017 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.020 INFO - Site: win-container-demo - Container started successfully

Actualización local y nueva implementación

  1. En Visual Studio, vaya al Explorador de soluciones. Seleccione Views>Home>Index.cshtml.

  2. Busque la etiqueta HTML <div class="jumbotron"> en la parte superior y reemplace el elemento entero por el código siguiente:

    <div class="jumbotron">
        <h1>ASP.NET in Azure!</h1>
        <p class="lead">This is a simple app that we've built that demonstrates how to deploy a .NET app to Azure App Service.</p>
    </div>
    
  3. Para volver a implementar en Azure, haga clic con el botón derecho en el proyecto myfirstazurewebapp en el Explorador de soluciones y seleccione Publicar.

  4. En el panel publicar, seleccione Publicar y espere a que finalice la publicación.

  5. Para indicar a App Service que extraiga la nueva imagen de Docker Hub, reinicie la aplicación. En el panel de la aplicación de Azure Portal, seleccione Reiniciar>.

    Captura de pantalla que muestra información general de App Service con el botón Reiniciar resaltado.

  6. Vuelva a navegar al contenedor personalizado. A medida que actualice la página, la aplicación primero debe revertir a la página Inicio . A continuación, debe mostrar la página actualizada.

    Captura de pantalla que muestra la aplicación web actualizada en Azure.

Limpieza de recursos

En los pasos anteriores, creó recursos de Azure en un grupo de recursos. Si no espera necesitar estos recursos en el futuro, puede eliminarlos eliminando el grupo de recursos:

  1. En el menú de Azure Portal o en la página principal, seleccione Grupos de recursos>myResourceGroup.

  2. En el panel myResourceGroup , asegúrese de que los recursos enumerados son los que desea eliminar.

  3. Seleccione Eliminar grupo de recursos. Escriba myResourceGroup en el cuadro de texto para confirmar y, a continuación, seleccione Eliminar.

En este inicio rápido, aprenderá a implementar una imagen de Azure Container Registry en Azure App Service.

App Service en Linux proporciona pilas de aplicaciones predefinidas en Linux con compatibilidad con lenguajes como .NET, Java, Node.jsy PHP. También puede usar una imagen personalizada de Docker para ejecutar la aplicación web en una pila de aplicaciones aún sin definir en Azure.

Para obtener más información sobre las aplicaciones en contenedor en un entorno sin servidor, consulte Aplicaciones de contenedor.

Requisitos previos

Creación de un Registro de contenedor

En este inicio rápido se usa Azure Container Registry como registro. Puede usar otros registros, pero los pasos pueden diferir ligeramente.

Cree un registro de contenedor siguiendo las instrucciones de Inicio rápido: Creación de un registro de contenedor privado mediante Azure Portal.

Importante

Asegúrese de establecer la opción Usuario administrador en Habilitar al crear el registro de contenedor. También puede establecerlo desde la sección Claves de acceso del panel del Registro en Azure Portal. Necesita esta configuración para acceder a App Service. Para obtener una identidad administrada, consulte Implementación desde Azure Container Registry.

Iniciar sesión

  1. Abra VS Code.

  2. Seleccione el logotipo de Azure en la barra de actividades y, a continuación, vaya a CUENTAS e INQUILINOS. Seleccione Iniciar sesión en Azure y siga las instrucciones.

    Captura de pantalla que muestra cómo iniciar sesión en Azure en VS Code.

  3. En la barra de estado de la parte inferior, compruebe que la dirección de correo electrónico de la cuenta de Azure es correcta. La suscripción debe mostrarse en el explorador de APP SERVICE .

  4. En la barra de actividad, seleccione el logotipo de Docker . En el explorador REGISTROS, compruebe que aparece el registro de contenedor que ha creado.

    Recorte de pantalla que muestra el valor Registros con Azure expandido.

Comprobación de los requisitos previos

Compruebe que Docker está instalado y en ejecución. Si Docker se está ejecutando, el siguiente comando muestra la versión de Docker:

docker --version

Creación y compilación de una imagen

  1. En VS Code, abra una carpeta vacía y agregue un archivo denominado Dockerfile. En el archivo, pegue el contenido en función del marco de lenguaje deseado:

    En este archivo, la imagen primaria es uno de los contenedores de .NET integrados de App Service.

    FROM mcr.microsoft.com/appsvc/dotnetcore:lts
    
    ENV PORT 8080
    EXPOSE 8080
    
    ENV ASPNETCORE_URLS "http://*:${PORT}"
    
    ENTRYPOINT ["dotnet", "/defaulthome/hostingstart/hostingstart.dll"]
    
  2. Abra la paleta de comandos y escriba Imágenes de Docker: Compilar imagen. Seleccione Entrar para ejecutar el comando.

  3. En el cuadro de etiqueta de imagen, especifique la etiqueta que desee en el formato siguiente: <acr-name>.azurecr.io/<image-name>:<tag>, donde <acr-name> es el nombre del registro de contenedor que ha creado. Seleccione Entrar.

  4. Cuando la imagen termine de compilarse, seleccione Actualizar en la parte superior del explorador IMAGES y compruebe que la imagen se ha compilado correctamente.

    Captura de pantalla que muestra la imagen generada con la etiqueta.

Implementación en el registro de contenedor

  1. En la barra de actividades, seleccione el icono de Docker . En el explorador IMÁGENES, busque la imagen compiló.

  2. Expanda la imagen, haga clic con el botón derecho en la etiqueta que desee y seleccione Insertar.

  3. Asegúrese de que la etiqueta de imagen comienza por <acr-name>.azurecr.io y seleccione Entrar.

  4. Cuando VS Code termine de insertar la imagen en el registro de contenedor, seleccione Actualizar en la parte superior del explorador DE REGISTROS y compruebe que la imagen se insertó correctamente.

    Captura de pantalla que muestra la imagen implementada en Azure Container Registry.

Implementación en App Service

  1. En el explorador DE REGISTROS , expanda la imagen, haga clic con el botón derecho en la etiqueta y seleccione Implementar imagen en Azure App Service.
  2. Siga las indicaciones para seleccionar una suscripción, un nombre de aplicación único global, un grupo de recursos y un plan de App Service. Seleccione B1 Básico para el plan de tarifa y una región cercana.

Después de la implementación, la aplicación está disponible en http://<app-name>.azurewebsites.net.

Un grupo de recursos es una colección con nombre de todos los recursos de la aplicación en Azure. Por ejemplo, un grupo de recursos puede contener una referencia a un sitio web, una base de datos y una función de Azure.

Un plan de App Service define los recursos físicos que se usarán para hospedar el sitio web. En este inicio rápido se usa el plan de hospedaje básico en la infraestructura de Linux, lo que significa que el sitio se hospeda en una máquina Linux junto con otros sitios web. Si empieza con el plan Básico, puede usar Azure Portal para escalar verticalmente para que una máquina ejecute solo el sitio. Para conocer los precios, consulte Precios de App Service.

Exploración del sitio web

El panel Salida muestra el estado de las operaciones de implementación. Cuando finalice la operación, seleccione Abrir sitio en la notificación emergente para abrir el sitio en el explorador.

La aplicación de App Service extrae del registro de contenedor cada vez que se inicia. Si recompila la imagen, solo tiene que insertarla en el registro de contenedor y la aplicación extrae la imagen actualizada cuando se reinicia. Para indicar a la aplicación que extraiga la imagen actualizada inmediatamente, reiníciela.

Para solucionar problemas, vaya a He tenido un problema.

Limpieza de recursos

En los pasos anteriores, creó recursos de Azure en un grupo de recursos. Si no espera necesitar estos recursos en el futuro, puede eliminarlos eliminando el grupo de recursos:

  1. En el menú de Azure Portal o en la página principal, seleccione Grupos de recursos>myResourceGroup.

  2. En el panel myResourceGroup , asegúrese de que los recursos enumerados son los que desea eliminar.

  3. Seleccione Eliminar grupo de recursos. Escriba myResourceGroup en el cuadro de texto para confirmar y, a continuación, seleccione Eliminar.

Otras extensiones de Azure:

En este inicio rápido, aprenderá a implementar una imagen de Azure Container Registry en Azure App Service.

Azure App Serviceen Linux proporciona pilas de aplicaciones predefinidas en Linux compatibles con lenguajes como .NET, Java, Node.js y PHP. También puede usar una imagen personalizada de Docker para ejecutar la aplicación web en una pila de aplicaciones aún sin definir en Azure.

Para más información sobre las aplicaciones en contenedores en un entorno sin servidor, consulte Introducción a Azure Container Apps.

Requisitos previos

Clonación del repositorio de ejemplo

Clone la aplicación de ejemplo de .NET 6.0 mediante el comando siguiente:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

Inserción de la imagen en Azure Container Registry

Asegúrese de que está en la carpeta raíz del repositorio clonado, que contiene un Dockerfile.linux archivo.

  1. Inicie sesión en la CLI de Azure.

    az login
    
  2. Inicio de sesión en Azure Container Registry.

    az acr login -n <your_registry_name>
    
  3. Compile la imagen de contenedor. En este ejemplo se usa el nombre dotnetcore-docs-hello-world-linuxde la imagen .

    docker build -f Dockerfile.linux -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux . 
    
  4. Inserción de una imagen de contenedor en Azure Container Registry.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux:latest
    

    Nota

    Dockerfile establece el número de puerto en 80 internamente. Para obtener más información, vaya a Configurar contenedor personalizado.

Implementar en Azure

  1. Inicie sesión en Azure Portal.

  2. Escriba app services en la búsqueda. En Servicios, seleccione App Services.

    Captura de pantalla que muestra cómo buscar servicios de aplicaciones en Azure Portal.

  3. En el panel App Services , seleccione Crear>aplicación web.

  4. En la pestaña Aspectos básicos , en Detalles del proyecto, seleccione la suscripción correcta. Para crear un nuevo grupo de recursos, seleccione Crear nuevo. Escriba myResourceGroup para el nombre.

    Captura de pantalla que muestra la sección de detalles del proyecto en la que se selecciona la suscripción de Azure y el grupo de recursos de la aplicación web.

  5. En Detalles de instancia:

    • Escriba un nombre único global para la aplicación web.
    • Seleccione Contenedor.
    • En Sistema operativo, seleccione Linux.
    • En Región, seleccione la región desde la que planea servir la aplicación.

    Captura de pantalla que muestra la sección de detalles de la instancia en la que se proporciona un nombre para la máquina virtual y se selecciona su región, imagen y tamaño.

  6. En el Plan de App Service, seleccione Crear nuevo. Escriba myAppServicePlan para el nombre. Para cambiar al nivel Gratis, seleccione Cambiar tamaño>de desarrollo/prueba>F1>Aplicar.

    Captura de pantalla que muestra las opciones del plan.

  7. En la parte superior del panel, seleccione la pestaña Contenedor .

  8. En la pestaña Contenedor , en Origen de imagen, seleccione Azure Container Registry. En Opciones de Azure Container Registry, establezca los siguientes valores:

    • Registro: seleccione el registro de contenedor.
    • Imagen: seleccione dotnetcore-docs-hello-world-linux.
    • Etiqueta: seleccione más reciente.

    Captura de pantalla que muestra las opciones de Azure Container Registry.

  9. Seleccione Revisar y crear en la parte inferior del panel.

    Captura de pantalla que muestra el botón en la parte inferior del panel.

  10. Tras ejecutarse la validación, seleccione Crear.

  11. Cuando finalice la implementación, seleccione Ir al recurso.

    Captura de pantalla que muestra el botón para ir al recurso.

Navegación hasta la aplicación

Vaya a la aplicación implementada mediante el explorador web en la dirección URL http://<app-name>.azurewebsites.net.

Captura de pantalla que muestra la aplicación implementada.

La aplicación de App Service extrae del registro de contenedor cada vez que se inicia. Si vuelve a generar su imagen, envíela a su registro de contenedores. La aplicación extrae la imagen actualizada cuando se reinicia. Para indicar a la aplicación que extraiga la imagen actualizada inmediatamente, reiníciela.

Limpieza de recursos

En los pasos anteriores, creó recursos de Azure en un grupo de recursos. Si no espera necesitar estos recursos en el futuro, puede eliminarlos eliminando el grupo de recursos:

  1. En el menú de Azure Portal o en la página principal, seleccione Grupos de recursos>myResourceGroup.

  2. En el panel myResourceGroup , asegúrese de que los recursos enumerados son los que desea eliminar.

  3. Seleccione Eliminar grupo de recursos. Escriba myResourceGroup en el cuadro de texto para confirmar y, a continuación, seleccione Eliminar.

En este inicio rápido, aprenderá a implementar una aplicación de ASP.NET en una imagen de Windows de Azure Container Registry en Azure App Service.

Azure App Service proporciona pilas de aplicaciones predefinidas en Windows, como ASP.NET o Node.js, que se ejecutan en Internet Information Services (IIS). Estas pilas de aplicaciones preconfiguradas bloquean el sistema operativo y evitan el acceso de bajo nivel.

Los contenedores personalizados de Windows no tienen estas restricciones. Los desarrolladores pueden usar contenedores personalizados para proporcionar a las aplicaciones en contenedores acceso completo a la funcionalidad de Windows.

Requisitos previos

Clonación del repositorio de ejemplo

Clone la aplicación de ejemplo de .NET 6.0 mediante el comando siguiente:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

Inserción de la imagen en Azure Container Registry

Asegúrese de que está en la carpeta raíz del repositorio clonado. Este repositorio contiene un Dockerfile.windows archivo. Este artículo utiliza Canal de mantenimiento a largo plazo Windows Nano Server 2022 como sistema operativo base y menciona explícitamente la base de Windows.

Nota

Aunque este contenedor es un contenedor de Windows, las rutas de acceso todavía deben usar barras diagonales. Para obtener más información, consulte Escritura de un Dockerfile.

  1. Inicie sesión en la CLI de Azure.

    az login
    
  2. Inicio de sesión en Azure Container Registry.

    az acr login -n <your_registry_name>
    
  3. Compile la imagen de contenedor. En este ejemplo se usa el nombre dotnetcore-docs-hello-world-windowsde la imagen .

    docker build -f Dockerfile.windows -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows . 
    
  4. Inserción de una imagen de contenedor en Azure Container Registry.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows:latest
    

    Nota

    Dockerfile establece el número de puerto en 80 internamente. Para obtener más información, consulte Configuración del contenedor personalizado.

Implementar en Azure

  1. Inicie sesión en Azure Portal.

  2. Escriba app services en el cuadro de búsqueda. En Servicios, seleccione App Services.

    Captura de pantalla que muestra cómo buscar servicios de aplicaciones en Azure Portal.

  3. En App Services, seleccione Crear>aplicación web.

  4. En la pestaña Aspectos básicos , en Detalles del proyecto, seleccione la suscripción correcta. Seleccione Crear nuevo. Escriba myResourceGroup para el nombre.

    Captura de pantalla que muestra la sección Detalles del proyecto donde se selecciona la suscripción de Azure y el grupo de recursos de la aplicación web.

  5. En Detalles de instancia:

    • Escriba un nombre único global para la aplicación web.
    • Seleccione Contenedor.
    • En Sistema operativo, seleccione Linux.
    • En Región, seleccione la región desde la que quiere servir la aplicación.

    Captura de pantalla que muestra la sección Detalles de la instancia donde se proporciona un nombre para la máquina virtual y se selecciona su región, imagen y tamaño.

  6. En el Plan de App Service, seleccione Crear nuevo. Escriba myAppServicePlan para el nombre. Para cambiar el nivel, seleccione Explorar planes de precios, seleccione un plan y elija Seleccionar en la parte inferior del panel.

    Captura de pantalla que muestra las opciones del plan de App Service.

  7. En la parte superior del panel, seleccione la pestaña Contenedor .

  8. En la pestaña Contenedor , en Origen de imagen, seleccione Azure Container Registry. En Opciones de Azure Container Registry, establezca los siguientes valores:

    • Registro: seleccione el registro de contenedor.
    • Imagen: seleccione dotnetcore-docs-hello-world-linux.
    • Etiqueta: seleccione más reciente.

    Captura de pantalla que muestra las opciones de Azure Container Registry.

  9. Seleccione Revisar y crear en la parte inferior del panel.

    Captura de pantalla que muestra el botón Revisar y crear en la parte inferior del panel.

  10. Tras ejecutarse la validación, seleccione Crear.

  11. Cuando finalice la implementación, seleccione Ir al recurso.

    Captura de pantalla que muestra cómo ir al recurso.

Ir a la aplicación

Vaya a la aplicación implementada en el explorador web en la dirección URL http://<app-name>.azurewebsites.net.

Captura de pantalla que muestra Windows App Service.

El sistema operativo host aparece en el pie de página, lo que confirma que la aplicación se ejecuta en un contenedor de Windows.

La aplicación de App Service extrae del registro de contenedor cada vez que se inicia. Si vuelve a generar su imagen, envíela a su registro de contenedores. La aplicación extrae la imagen actualizada cuando se reinicia. Para indicar a la aplicación que extraiga la imagen actualizada inmediatamente, reiníciela.

Limpieza de recursos

En los pasos anteriores, creó recursos de Azure en un grupo de recursos. Si no espera necesitar estos recursos en el futuro, puede eliminarlos eliminando el grupo de recursos:

  1. En el menú de Azure Portal o en la página principal, seleccione Grupos de recursos>myResourceGroup.

  2. En el panel myResourceGroup , asegúrese de que los recursos enumerados son los que desea eliminar.

  3. Seleccione Eliminar grupo de recursos. Escriba myResourceGroup en el cuadro de texto para confirmar y, a continuación, seleccione Eliminar.

En este inicio rápido, aprenderá a implementar una aplicación de ASP.NET en una imagen de Windows de Microsoft Artifact Registry en Azure App Service.

Azure App Service proporciona pilas de aplicaciones predefinidas en Windows que se ejecutan en Internet Information Services (IIS). Las pilas de aplicaciones preconfiguradas bloquear el sistema operativo y evitar el acceso de bajo nivel.

Los contenedores personalizados de Windows no tienen estas restricciones. Los desarrolladores pueden usar contenedores personalizados para proporcionar a las aplicaciones en contenedores acceso completo a la funcionalidad de Windows.

Requisitos previos

Conexión con Azure

Inicie sesión en su cuenta de Azure con el comando Connect-AzAccount y siga las indicaciones en pantalla.

Connect-AzAccount

Crear un grupo de recursos

Cree un grupo de recursos con el comando New-AzResourceGroup. Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure.

En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la ubicación eastus. Para ver todas las ubicaciones admitidas para App Service, ejecute el Get-AzLocation comando .

New-AzResourceGroup -Name myResourceGroup -Location eastus

El comando devuelveLogin Succeeded.

Crea tu plan de App Service

Cree un nuevo plan de App Service mediante el New-AzAppServicePlan comando .

En el siguiente ejemplo se crea un plan de App Service denominado myAppServicePlan con el plan de tarifa PremiumV3 (-Tier PremiumV3). El parámetro -HyperV especifica el contenedor de Windows.

New-AzAppServicePlan -Name myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -Tier PremiumV3 -HyperV

Creación de la aplicación web

Cree una aplicación mediante el New-AzWebApp comando :

New-AzWebApp -Name myWebApp -AppServicePlan myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -ContainerImageName mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • El Name parámetro especifica el nombre de la aplicación web.
  • El AppServicePlan parámetro especifica el nombre del plan de App Service.
  • El Location parámetro especifica la ubicación.
  • El ResourceGroupName parámetro especifica el nombre del grupo de recursos.
  • El ContainerImageName parámetro especifica un nombre de imagen de contenedor y una etiqueta opcional.

El comando puede tardar unos minutos en finalizar.

Navegación hasta la aplicación

Vaya a la aplicación implementada mediante el explorador web en la dirección URL http://<app-name>.azurewebsites.net.

Captura de pantalla que muestra Windows App Service.

La aplicación de App Service extrae del registro de contenedor cada vez que se inicia. Si vuelve a generar su imagen, envíela a su registro de contenedores. La aplicación extrae la imagen actualizada cuando se reinicia. Para indicar a la aplicación que extraiga la imagen actualizada inmediatamente, reiníciela.

Limpieza de recursos

Quite el grupo de recursos mediante el Remove-AzResourceGroup comando :

Remove-AzResourceGroup myResourceGroup

En este inicio rápido, aprenderá a implementar una aplicación de ASP.NET en una imagen de Windows de Microsoft Artifact Registry en Azure App Service.

Azure App Service proporciona pilas de aplicaciones predefinidas en Windows que se ejecutan en Internet Information Services (IIS). Estas pilas de aplicaciones preconfiguradas bloquean el sistema operativo y evitan el acceso de bajo nivel.

Los contenedores personalizados de Windows no tienen estas restricciones. Los desarrolladores pueden usar contenedores personalizados para proporcionar a las aplicaciones en contenedores acceso completo a la funcionalidad de Windows.

Requisitos previos

Conexión con Azure

Inicie sesión en la cuenta de Azure. Utilice el az login comando y siga la instrucción:

az login

Crear un grupo de recursos

Cree un grupo de recursos mediante el az group create comando . Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure.

En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la ubicación eastus. Para ver todas las ubicaciones admitidas para App Service, ejecute el az appservice list-locations comando .

az group create --name myResourceGroup --location eastus

Cree su plan de App Service

Cree un plan de App Service en el grupo de recursos con el comando az appservice plan create.

En el siguiente ejemplo se crea un plan de App Service denominado myAppServicePlan con el plan de tarifa P1V3 (--sku P1V3).

az appservice plan create --resource-group myResourceGroup --location eastus --name myAppServicePlan --hyper-v --sku p1v3

Nota

Si se produce el error "El comportamiento de este comando se ha modificado mediante la siguiente extensión: appservice-kube", quite la appservice-kube extensión.

Creación de la aplicación web

Cree una aplicación web de contenedor personalizada en el plan de App Service myAppServicePlan con el comando az webapp create. No olvide reemplazar myContainerApp por un nombre de aplicación único (los caracteres válidos son a-z, 0-9y -).

az webapp create --name myContainerApp --plan myAppServicePlan --resource-group myResourceGroup --deployment-container-image-name mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • El Name parámetro especifica el nombre de la aplicación web.
  • El AppServicePlan parámetro especifica el nombre del plan de App Service.
  • El Location parámetro especifica la ubicación.
  • El ResourceGroupName parámetro especifica el nombre del grupo de recursos.
  • El deployment-container-image-name parámetro especifica un nombre de imagen de contenedor y una etiqueta opcional.

Navegación hasta la aplicación

Vaya a la aplicación implementada mediante el explorador web en la dirección URL http://<app-name>.azurewebsites.net.

Captura de pantalla que muestra Windows App Service.

La aplicación de App Service extrae del registro de contenedor cada vez que se inicia. Si vuelve a generar su imagen, envíela a su registro de contenedores. La aplicación extrae la imagen actualizada cuando se reinicia. Para indicar a la aplicación que extraiga la imagen actualizada inmediatamente, reiníciela.

Limpieza de recursos

Quite el grupo de recursos mediante el az group delete comando :

az group delete --no-wait --name <resource_group>