Del Concepto a la idea II : Implementacion "Docker con Fast Api"
Por si te lo perdiste este articulo es la continuación de :
Del concepto a la idea : Implementacion "Fast API"
Bueno pues ya en contexto la conclusión anterior es que para llegar al objetivo de implementar este pequeño servicio de días inhábiles era mas fácil hacerlo en pequeños objetivos o tareas .
Tareas definidas
- Configuracion proyecto y servicios con datos mock ✅ (Realizado)
- Dockerizacion 🔜 (Por hacer)
- Persistencia 🔜 (Por hacer)
- Integracion Continua y Despliegue 🔜 (Por hacer , Nice to have)
Como pueden observar ya realizamos la primera , y el dia de hoy atacaremos la siguiente : Dockerizar 😀
Dockerizacion ⏳ (En progreso)
Para lograr este objetivo seguiremos la documentación de FastAPI . Donde cada uno de los pasos a realizar son :
1 - Crear archivo Docker file
La generación de un archivo Docker file esta muy bien explicado en la sección FastAPI en Contenedores así que prácticamente se puede copiar y pegar.
2 - Dependencias
En la documentación nos sugiere que el archivo requirements.txt especifique la versión que se usa .
En mi caso es una adecuación que me faltaba por realizar.
fastapi[standard]>=0.113.0,<0.114.0
pydantic>=2.7.0,<3.0.0
3 - Estructura de directorios
Otra sugerencia importante es la estructura del proyecto abajo presento una imagen de la recomendación básica la cual es muy similar a mi caso de uso , sin embargo si gustaría saber mas de esto te dejo el link de la seccion Bigger Applications.
4 - Ejecutar y probar el contenedor
Ahora si la parte divertida ,en la parte raiz primero es necesario construir la imagen con el comando
docker build -t cat-financieros-image .
Si es la primera vez , lo mas probable es que tarde algo construyendo la imagen . Sin embargo este es un buen momento para apreciar la satisfacción de ver las cosas funcionando .
(.venv) juanrenatonoh@DESKTOP-TS6VH75:~/develop/workspaces/api-cat-financieros$ docker build -t cat-financieros-image .
[+] Building 164.5s (4/9)
Una vez termine es momento de ejecutar el contenedor
docker run -d --name cat-financieros -p 8080:80 cat-financieros-image
Y listo ya tenemos dockerizada nuesta app . !!!!!!!!!
Asi que ya por ultimo se incluye el archivo docker-compose.yml
services:
app:
build: .
container_name: api-cat-financieros
ports:
- "8000:80"
networks:
- network-api-cat-financieros
networks:
network-api-cat-financieros:
Y este este comando mágico hace el trabajo
docker compose up
Vivo de nuevo !!!
Lo mas genial es que de esta forma podemos destruir el ambiente con los clasicos comandos
docker compose down : Detener el ambiente
docker compose down -v : Detener el ambiente y borrar todo lo creado por docker.
Te comparto la documentación de docker
Y por supuesto el repositorio de código de lo hecho el día de hoy .
Por ultimo nuestro siguiente paso y probablemente ultimo de esta serie sera :
Integrar la capa de persistencia , ahora
¿Que motor de bd ? mmm la verdad no lo se .

Comentarios
Publicar un comentario