Introducción Como desarrolladores web, solíamos encontrar alojamiento adecuado para nuestras aplicaciones con todas las complicaciones de implementarlas y mantenerlas. Pero ahora vivimos en una nueva era en la que los proveedores de la nube pueden hacer muchas cosas por nosotros casi sin costo alguno. En cuanto a los desarrolladores de .NET, Microsoft Azure parece la opción más natural para alojar aplicaciones web. Docker es otra pieza de tecnología que permite abstraerse de la plataforma y el entorno en el que está ejecutando su aplicación. En este artículo, brindaré una guía detallada sobre cómo crear una aplicación web ASP.NET Core simple, crear una imagen acoplable con su aplicación y la forma más sencilla de implementarla en Azure. Al final, comprenderá bien cómo implementar su aplicación web y hacerla accesible para todo el mundo. 1. Cree una aplicación web ASP.NET Core Voy a utilizar JetBrains Rider para el desarrollo de este artículo. Pero puedes usar cualquier herramienta que quieras. Primero, necesitas crear un nuevo proyecto. Llamémoslo simple ' '. aplicación web Después de crear un nuevo proyecto, debería verse así: 2. Crea una imagen de Docker Sin ningún cambio en el proyecto, nos centraremos en el . Modifíquelo como en el siguiente ejemplo: Dockerfile FROM mcr.microsoft.com/dotnet/aspnet:6.0 as base WORKDIR /app EXPOSE 8080 ENV ASPNETCORE_URLS http://+:8080 FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build COPY . /src WORKDIR /src RUN dotnet build "webapp.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "webapp.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "webapp.dll"] Debes prestar atención a las líneas y para poder conectarte vía HTTP al contenedor acoplable. EXPOSE 8080 ENV ASPNETCORE_URLS http://+:8080 Cree una imagen de Docker desde la línea de comando. Debe navegar hasta el directorio del proyecto y ejecutar el siguiente comando: webapp DOCKER_BUILDKIT=1 docker buildx build --platform linux/amd64 --tag drmoz/webapp:latest . Lo estoy ejecutando en Mac M1 y tengo que especificar el parámetro explícitamente para que sea compatible con la implementación de Azure. También tengo que activar Docker Buildkit especificando el parámetro y usando para poder construir una imagen para otra arquitectura. --platform DOCKER_BUILDKIT=1 buildx Si lo está ejecutando en la plataforma Intel x86/x64, puede usar el comando sin la necesidad de especificar el parámetro y activar . docker build --platform buildx Puedes etiquetar tu imagen de manera diferente, pero como voy a usar Docker Hub, tengo que especificar el nombre de mi cuenta: como parte de la etiqueta de imagen . drmoz drmoz/webapp:latest Cuando se crea una imagen, puede verificar si está presente en Docker ejecutando el siguiente comando: docker images Debería estar en la lista: REPOSITORY TAG IMAGE ID CREATED SIZE drmoz/webapp latest 0cfac748256b 37 minutes ago 216MB Ejecutemos el contenedor acoplable para verificar que la imagen recién creada funcione bien. Ejecute el comando para iniciar un contenedor: docker run docker run -p 5555:8080 drmoz/webapp:latest Especifique el parámetro para asignar el puerto dentro del contenedor al puerto de su máquina local. Además, especifique el nombre de la imagen para crear el contenedor. En mi caso, es . -p 8080 5555 drmoz/webapp:latest Ahora puede navegar en su navegador para ver la página de inicio de la aplicación web ASP.NET Core. http://localhost:5555 Necesitamos enviar una imagen a . Antes de eso, debe registrarse en Docker Registry y crear un repositorio. Haga clic en el botón ' ' en la esquina derecha de la página de inicio. Docker Hub Crear repositorio Especifique el campo y mantenga la visibilidad del repositorio . Repository Name Public En la línea de comando, debes iniciar sesión en el registro de Docker Hub: docker login Después de eso, podrá enviar una imagen recién creada al registro: docker push drmoz/webapp:latest Navegue hasta el repositorio y verá la información sobre la imagen: 3. Cree una aplicación web en Azure Ahora estamos listos para implementar nuestra aplicación web ASP.NET Core en Azure. Iniciemos sesión en Azure Portal y creemos un nuevo grupo de recursos. Especifique el nombre del grupo de recursos como ' ' y haga clic en el botón 'Revisar + crear'. webapp-rg En la siguiente pantalla, simplemente presione el botón "Crear". Ahora podemos crear una aplicación web. Navegue a la página "Crear recurso" y busque WebApp. Haga clic en el botón 'Crear'. Debe especificar el que creamos anteriormente. Además, especifique un único para la aplicación web. Seleccione 'Contenedor Docker' en el campo . Más adelante podremos especificar qué imagen de Docker usar. Resource Group Name Publish Seleccione las opciones adecuadas en la sección , pero recomiendo utilizar un neumático para realizar pruebas. Navegue a la pestaña Docker. Pricing plans Free F1 En esta pestaña, seleccione 'Docker Hub' en el campo . Seleccione 'Público' en el campo y especifique la con el nombre de la imagen que enviamos a Docker Hub. Navegue a la pestaña 'Revisar + crear'. En esta pestaña, haga clic en el botón 'Crear': Image Source Access Type Image and tag Cuando se implemente el nuevo recurso, se le preguntará si desea navegar hasta este recurso; hazlo. Podrá ver información sobre la aplicación web. Haga clic en el botón 'Examinar' para abrir una aplicación web implementada. Si todo salió correctamente, debería ver la página de inicio de la aplicación web ASP.NET Core similar a la que vio en su navegador al navegar por . http://localhost:5555 Habilitar la implementación continua Si navega a la configuración del "Centro de implementación" y habilita "Implementación continua", podrá volver a implementar su imagen cada vez que inserte una nueva en Docker Hub. De esa manera, puede realizar cambios en su código, enviarlo a Docker Hub con una nueva imagen y ver los cambios en minutos en Azure. Solución de problemas de aplicaciones web de Azure Para poder ver los registros de implementación e identificar problemas, debe habilitar el guardado de registros en el sistema de archivos en el capítulo "Registros de App Service" de la siguiente manera: Cuando termine, puede navegar hasta el 'Centro de implementación' y ver los registros de la siguiente manera: Resumen Si llega a este punto, logró crear una aplicación web ASP.NET Core; Empaquételo en la imagen de Docker e impleméntelo en Azure. Hoy en día, la tecnología hace la vida más fácil y acelera el proceso de desarrollo. Puede ver con qué facilidad puede implementar su aplicación en el proveedor de la nube y exponerla a todo el mundo, realizar algunas pruebas y ver el resultado de su trabajo. Ahora puede profundizar en los detalles de los proveedores de la nube de Azure utilizando de Microsoft. Además, consulte la de Docker para comprender mejor esta tecnología. Espero que pueda ser útil. la documentación documentación