Una de las principales ventajas de Docker es que le permite ejecutar proyectos de software sin la necesidad de configurar entornos de desarrollo complejos.

Esta guía le mostrará cómo crear una imagen de Docker de una API web .NET 5. Luego, puede usar la imagen para ejecutar el código de backend desde cualquier PC que tenga Docker instalado e interactuar con la API desde su proyecto web de front-end o una aplicación móvil.

Creación de una API web .NET 5

Tanto Docker como .NET 5 son de código abierto y multiplataforma, por lo que puede seguir esta guía ya sea que utilice macOS, Windows o Linux.

Utilice la CLI de dotnet para crear un proyecto de API web ASP.NET con el siguiente comando:

 dotnet nuevo webapi -o aspdockerapi 

El comando anterior crea un proyecto llamado aspdockerapi y lo coloca en una carpeta con el mismo nombre. Además, la aplicación integra un controlador API con algunos datos de pronóstico del tiempo de muestra.

Nota: Si no tiene .NET 5 instalado en su PC, puede descargarlo desde el enlace a continuación.

instagram viewer

Descargar: .NET 5 para Windows, macOS y Linux

Una vez que se crea el proyecto, puede ingresar a la carpeta raíz del proyecto usando el siguiente comando.

cd aspdockerapi

Puede ejecutar y servir la API web con el comando a continuación.

 ejecutar dotnet 

De forma predeterminada, la aplicación se servirá en el puerto 5001. Puede ver los datos de muestra de la aplicación en su navegador en la siguiente URL: https://localhost: 5001 / weatherforecast y los datos de las API deben verse como se muestra a continuación.

Aprende más: ¿Qué es una API?

Creación de instrucciones de imagen de Docker

Para crear una imagen de Docker, debe darle al motor de Docker algunas instrucciones sobre cómo construirla. Estas instrucciones deben colocarse en un archivo llamado Dockerfile. Tenga en cuenta que el archivo no tiene extensión.

Utilice el siguiente comando para crear el Dockerfile en la carpeta raíz del proyecto de su aplicación.

toque Dockerfile

Después de crear el Dockerfile, la estructura de la carpeta de proyectos debe ser similar a la siguiente:

Ahora, copie y pegue el código a continuación en su Dockerfile.

DESDE mcr.microsoft.com/dotnet/aspnet: base AS de 5.0 focales
WORKDIR / aplicación
EXPONER 80
DESDE mcr.microsoft.com/dotnet/sdk: 5.0-focal AS build
WORKDIR / src
COPIA ["aspdockerapi.csproj", "./"]
EJECUTAR dotnet restore "./aspdockerapi.csproj"
COPIAR. .
WORKDIR "/ src /."
EJECUTE dotnet build "aspdockerapi.csproj" -c Release -o / app / build
DESDE construir COMO publicar
EJECUTAR dotnet publish "aspdockerapi.csproj" -c Release -o / app / publish
DESDE base COMO final
WORKDIR / aplicación
COPIA --desde = publicar / aplicación / publicar.
ENTRYPOINT ["dotnet", "aspdockerapi.dll"]

Nota: En el Dockerfile anterior, los nombres del proyecto y dll son aspdockerapi.csproj y aspdockerapi.dll respectivamente, si su proyecto tiene un nombre diferente, asegúrese de actualizar su Dockerfile con los nombres correctos.

Comprensión de las instrucciones de Dockerfile

La Dockerfile se compone principalmente de palabras clave de Dockerfile, que por convención son palabras en mayúsculas. Las palabras clave especifican la instrucción a ejecutar en cada capa de la imagen de Docker. A continuación se muestran las principales palabras clave de Docker que utiliza el Dockerfile anterior.

1. DE

La DE palabra clave especifica la imagen base en la que queremos que se construya nuestra imagen. En el Dockerfile anterior, la imagen base inicial es una imagen .NET 5 de Microsoft. La imagen base de .NET 5 contiene los componentes necesarios para ejecutar la aplicación.

2. WORKDIR

WORKDIR establece el directorio de trabajo o el contexto dentro de la imagen. En este ejemplo, el /app El directorio se asigna como directorio de trabajo raíz predeterminado utilizando la siguiente declaración WORKDIR / aplicación.

3. COPIAR

La COPIAR La palabra clave simplemente copia el contenido de una carpeta y lo coloca en otra. En este ejemplo, se usa inicialmente para copiar el archivo del proyecto principal, es decir, aspdockerapi.csproj en el directorio de trabajo de imágenes.

4. CORRER

La CORRER La palabra clave se usa para ejecutar un comando específico de Linux dentro de una imagen de Docker. En el Dockerfile sobre el CORRER El comando se usa para restaurar dependencias, construir el proyecto ASP.NET y publicar el proyecto.

5. CMD

La CMD la palabra clave es un poco similar a la CORRER palabra clave discutida anteriormente. También se usa para ejecutar un comando de Linux, pero a diferencia del CORRER palabra clave que ejecuta comandos para construir la imagen, la CMD La palabra clave se utiliza para ejecutar comandos de Linux cuando se inicia la imagen, en una instancia de contenedor.

6 EXPONER

La EXPONER La palabra clave se utiliza para exponer un puerto dentro de la imagen de Docker al mundo exterior. En este caso, la imagen expone el puerto 80, que se utiliza para exponer la API cuando se ejecuta el contenedor Docker.

Construyendo la imagen de Docker

Para construir la imagen de Docker basada en el Dockerfile, simplemente ejecute el siguiente comando dentro de la carpeta raíz del proyecto, es decir, donde el Dockerfile es colocado.

docker build -t dockerwebapi -f Dockerfile.

El comando anterior etiqueta la imagen de Docker con el nombre dockerwebapi y también especifica que las instrucciones para construir esta imagen están en el Dockerfile.

Una vez que la imagen haya terminado de compilarse, puede verificar si aparece como una imagen de Docker local con el siguiente comando:

imágenes de docker

La salida del comando anterior debe ser similar a la siguiente, y la imagen (dockerwebapi) aparece en la primera línea en este caso.

Si no tiene Docker instalado en su PC, aquí se explica cómo instalar Docker en Ubuntu Linux, de lo contrario, utilice el enlace a continuación para descargar e instalar Docker.

Descargar: Guía de instalación y descarga de Docker

Ejecución de la imagen de Docker

Para ejecutar la imagen de Docker recién creada, use el siguiente comando. La -ti La opción especifica que la imagen debe ejecutarse en un modo de terminal interactivo, y --rm especifica que el contenedor debe retirarse inmediatamente después de su salida.

docker ejecutar -ti --rm -p 8080: 80 dockerwebapi

Además, el comando especifica que el contenedor Docker debe ejecutarse en el puerto HTTP 8080, que se asigna al puerto 80 dentro del contianer.

Ir a la URL: http://localhost: 8080 / WeatherForecast en su navegador y encontrará que los datos de su API se entregan desde la instancia de Docker que está ejecutando.

¿Por qué utilizar Docker?

Esta guía le mostró cómo crear una imagen de Docker de una API web .NET 5.

Con Docker, puede automatizar la forma en que implementa sus aplicaciones, simplificar la configuración de los entornos de desarrollo de software y facilitar la colaboración con otros ingenieros de software.

Docker también ofrece varias ventajas sobre otras tecnologías de virtualización, por lo que probablemente debería considerar su uso en sus proyectos de ingeniería de software.

Correo electrónico
6 razones para utilizar el software de virtualización Docker

Docker ofrece muchas ventajas sobre una máquina virtual, aquí están las razones para comenzar a usarlo hoy.

Leer siguiente

Temas relacionados
  • Programación
  • Desarrollo web
  • Estibador
  • ASP.NET
Sobre el Autor
Mwiza Kumwenda (26 Artículos publicados)

Mwiza desarrolla software de profesión y escribe extensamente en Linux y programación front-end. Algunos de sus intereses incluyen historia, economía, política y arquitectura empresarial.

Más de Mwiza Kumwenda

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Un paso más…!

Confirme su dirección de correo electrónico en el correo electrónico que le acabamos de enviar.

.