Cómo Dockerizar una Aplicación con FastAPI: Tutorial Paso a Paso
Docker es una plataforma que permite a los desarrolladores empaquetar, distribuir y ejecutar aplicaciones en contenedores. FastAPI es un marco web moderno y rápido para crear APIs con Python. En este tutorial, aprenderemos a dockerizar una aplicación con FastAPI paso a paso.
Paso 1: Crear una aplicación FastAPI
Lo primero que debemos hacer es crear una aplicación FastAPI. Podemos hacerlo instalando FastAPI y uvicorn, un servidor web ASGI, usando pip:
$ pip install fastapi uvicorn
Luego, creamos un archivo llamado app.py y escribimos el siguiente código para crear una aplicación FastAPI de ejemplo:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
Paso 2: Crear un archivo Dockerfile
Ahora que tenemos nuestra aplicación FastAPI, podemos crear un archivo Dockerfile para empaquetarla en un contenedor. Creamos un archivo llamado Dockerfile en la raíz de nuestro proyecto y escribimos el siguiente código:
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8
COPY ./app /app
EXPOSE 80
Paso 3: Construir y ejecutar el contenedor
Una vez que tenemos nuestro Dockerfile, podemos construir y ejecutar nuestro contenedor usando el siguiente comando en la terminal:
$ docker build -t fastapi-docker .
$ docker run -d --name fastapi-container -p 80:80 fastapi-docker
Con estos pasos, hemos dockerizado nuestra aplicación FastAPI y la hemos ejecutado en un contenedor. Ahora podemos acceder a nuestra aplicación en http://localhost:80 y probarla.
Conclusión
Dockerizar una aplicación con FastAPI es un proceso sencillo que nos permite empaquetar y distribuir nuestra aplicación de manera eficiente. Con Docker, podemos asegurarnos de que nuestra aplicación se ejecute en cualquier entorno, independientemente de las dependencias del sistema operativo del servidor. Espero que este tutorial te haya sido útil para dockerizar tu aplicación con FastAPI. ¡Feliz código!
Si uso Windows, algunos pasos deben cambiar verdad?
Buen video, si puedes hacer un video con docker, con una bbdd, fastapi y el frontend, saludos
Que gran video, siempre e tenido problemas con dockerizar mis proyectos y era por no agregar un docker-compose.yml. Muchas gracias, sos una máquina
Hola muy claro el video, pero mi consulta seria esto es en mi maquina local ahora para pasar esto a produccion a una MV con windows server?
Deberia de volver a repetir este proceso ?
No hay algo parecido al publish application de visual studio con dotnet o usando IIS ?
Excelente vídeo Pablo! Tengo una duda, y me gustaría un vídeo de una 2da parte.
1. Si quiero agregar otra dependencia de python, por ejemplo pandas, debo hacer down y luego modificar el archivo requiremenets.txt y luego volver hacer up?
2. Si no tengo el python instalado en mi máquina porque docker me facilita esto, como hago para el autocompletado del código en vscode en la opción de seleccionar el intérprete?
Hola crack estoy empezando Python desde cero, y tu video fue el único que me engancho . mire como 20 videos hasta que di con el tuyo y aqui estoy. saludos desde ecuador.
excelente!