Seguramente has escuchado hablar sobre docker (contenedores, imagenes etc) y lo útil que es para nosotros como desarrolladores.
Pues bien en este artículo veremos cómo usar docker en aplicaciones net core, para este ejemplo estaré usando el ejemplo del artículo anterior en donde creamos una api con jwt en net core 5 ver articulo.
Para realizar este ejemplo debes tener instalado docker Install Docker Engine y tener una cuenta en docker hub.
Para crear el contenedor de la aplicación net core necesitas crear un archivo Dockerfile lo puedes crear manual usando la documentación de docker si usas visual studio este te da la opcion para poder crearlo rápidamente con las configuraciones que tu aplicación necesita, en nuestro caso que estamos usando visual code esta extensión nos servira con la creacion e implementacion de contenedores.
Se nos creará el archivo Dockerfile con las configuraciones necesarias para extraer las imagenes o contenedores que nuestra aplicación necesita.(Esta son configuraciones básicas que necesita tu aplicación para poder ejecutarla en un contenedor, si tu necesitas realizar configuraciones adicionales debes agregarlas manualmente.)
Si bien es cierto que visual code o visual studio nos generan las configuraciones necesarias para que nuestra aplicación la podamos ejecutar en un contenedor en muchas ocasiones debemos realizar configuraciones adicionales para que nuestra aplicación funcione correctamente así que te invito a que leas la documentación de docker.
En la terminal de vscode ejecutamos el siguiente comando para construir la imagen(Ojo debemos estar en la carpeta del proyecto al mismo nivel donde se creó el Dockerfile)
docker build -t netcorejwt .
Con este comando lo que estamos haciendo es construir una imagen con el nombre netcorejwt basada en todas las configuraciones del archivo Dockerfile que creamos. Si observamos en la consola veremos que empieza a descargar lo archivos necesarios para crear nuestra imagen y también ejecuta los comandos dotnet definidos en el archivo.docker images
Observaremos la imagen con el nombre que le asignamos netcorejwt docker run -d -p 5000:5000 --name myapi netcorejwt
docker ps
docker tag netcorejwt cristiantorres/netcoreapiwjt
Por último hacemos el push de la imagen hacia el repositorio de docker hubdocker push cristiantorres/netcoreapiwjt
Listo ya tenemos nuestra imagen en docker hub cualquier otro programador puede descargar la imagen y ejecutarla fácilmente cristiantorres/netcoreapiwjt.
0 Comentarios