Introducción
FastAPI es un marco web moderno para Python diseñado para proporcionar alto rendimiento, lo que lo hace una excelente opción para el desarrollo de aplicaciones, especialmente aplicaciones basadas en AI.
Este tutorial le guiará a través del proceso de creación y configuración de una aplicación FastAPI en una máquina Ubuntu utilizando Docker Compose. Este método simplifica la implementación y ofrece una fuerte base para la integración de AI en sus aplicaciones.
Construir una Aplicación FastAPI utilizando Docker Compose
- Configuración del Entorno de Python
- Crear un Entorno Virtual
- Instalar Docker
- Crear Aplicación FastAPI
- Crear Dockerfile y Docker Compose
- Construir y ejecutar contenedor de Docker
- Acceder a la aplicación FastAPI
- Administrar contenedor de Docker
Requisitos previos
Para seguir este tutorial, necesitará:
-
Un servidor que ejecute Ubuntu junto con un usuario no root que tenga privilegios de sudo y una cortina activa. Para obtener instrucciones sobre cómo configurar esto, elija su distribución de la lista y siga nuestra guía de configuración inicial del servidor. Asegúrese de trabajar con una versión compatible de Ubuntu. En este tutorial, utilizamos una máquina Ubuntu 24.04 LTS.
-
Familiaridad con la línea de comandos de Linux. Para una introducción o recuerdo de la línea de comandos, puede visitar esta guía sobre primer Linux command line.
-
Ejecute
sudo apt-get update
en el terminal de Ubuntu para asegurarse de que su sistema tenga las últimas versiones y actualizaciones de seguridad para el software disponible en los repositorios configurados en su sistema.
Estas instrucciones son válidas para las versiones más recientes de Ubuntu, es decir, Ubuntu 24.04, Ubuntu 22.04, Ubuntu 20.04 y Ubuntu 18.04. Si estás utilizando Ubuntu <=16.04, te recomendamos actualizar a una versión más reciente ya que Ubuntu ya no proporciona soporte para estas versiones. Esta colección de guías te ayudará a actualizar tu equipo Ubuntu.
Paso 1 – Configuración del Entorno de Python
En una máquina Ubuntu 24.04, Python 3 ya está instalado de forma predeterminada. Abre el terminal y ejecuta el siguiente comando para comprobar la instalación de Python 3:
Si Python 3 ya está instalado en tu máquina, este comando devolverá la versión actual de la instalación de Python 3. En caso de que no esté instalado, puedes ejecutar el siguiente comando y obtener la instalación de Python 3:
A continuación, necesitas instalar los gestores de paquetes pip
y dev
en tu sistema. El gestor de paquetes pip
es fundamental para instalar paquetes del Index de Paquetes de Python, mientras que el paquete dev
es necesario para construir módulos de Python que incluyan código compilado.
Ejecuta el siguiente comando en el terminal:
Paso 2 – Crear y activar el entorno virtual
<$>
Si estás utilizando una versión de Ubuntu < 24.04, no necesitas crear un entorno virtual. Salta al siguiente paso<$>.
El siguiente paso es crear un entorno virtual dentro de tu instalación de Ubuntu para aislar los paquetes de Python de tu entorno de sistema. Para esto, ve a tu directorio de trabajo y ejecuta el siguiente comando:
Este comando creará un nuevo entorno virtual en un directorio llamado fastapi-env
. Cualquier paquete que instales a partir de ahora se aislará de otros proyectos.
A continuación, necesitas activar este entorno virtual para asegurarte de que los paquetes que instales a partir de este momento se instalen dentro de este entorno aislado.
Al ejecutar el comando, notarás que el prompt del terminal está precedido por el nombre de tu entorno virtual, por ejemplo:
Paso 3 – Instalar y activar Docker
El siguiente paso es instalar Docker y Docker Compose dentro de tu entorno virtual.
Después de instalar Docker, inicia el servicio de Docker y lo habilita para que se inicie al arrancar el sistema:
Para asegurarse de tener la versión estable más reciente de Docker Compose, descargará desde su repositorio oficial de GitHub en lugar de utilizar apt
.
Antes de empezar, confirme que la versión más reciente está disponible en la página de lanzamientos oficiales de GitHub de Docker, y luego ejecute el siguiente comando CURL en el terminal.
Ejecute el comando siguiente para hacer que el archivo binario docker-compose
sea ejecutable por cualquier usuario de la máquina.
Verifique la instalación ejecutando:
Paso 4 – Crear Aplicación FastAPI
Ahora es el momento de empezar a crear una aplicación de Python que use el framework FastAPI. Primero, cree un archivo main.py
:
A continuación, se proporciona una aplicación de Python de muestra que crea una simple API web usando el framework FastAPI y un modelo AI preentrenado para analizar el sentimiento de un texto dado.
Para ejecutar correctamente esta aplicación, necesitará los dependencias requeridos, pero no tiene que instalarlos manualmente. La instalación de estos paquetes será manejada dentro del archivo Dockerfile, que se menciona en el siguiente paso.
Paso 5 – Crear Dockerfile y archivo de configuración YAML
Siguiendo con la creación de un Dockerfile para esta aplicación. Este Dockerfile define el entorno en el que se ejecutará tu aplicación FastAPI. Crea un Dockerfile
en el directorio del proyecto ejecutando:
En el editor de texto, agrega el siguiente contenido:
Docker Compose simplifica la administración de aplicaciones de múltiples contenedores. A continuación, necesitarás crear un archivo de configuración docker-compose.yml
en el directorio del proyecto.
Agrega el siguiente contenido al archivo vacío:
En esta configuración,
version
: Especifica la versión de Docker Compose que se utilizará.services
: Define los servicios que se crearán.web
: Especifica el nombre del servicio que ejecuta tu aplicación FastAPI.build
: Especifica el directorio desde el cual se construirá la imagen de Docker. En este caso, es el mismo directorio donde se coloca eldocker-compose.yml
.ports
: Mapea el puerto 8000 en la máquina anfitriona al puerto 80 dentro del contenedor.volumes
: Monta el directorio actual como un volumen dentro del contenedor, de manera que puedas recargar el código en vivo.
Paso 6 – Construir y Ejecutar el Contenedor de Docker
Use Docker Compose para construir esta imagen de Docker y iniciar el contenedor:
Este comando construye la imagen de Docker a partir del archivo Dockerfile en el directorio actual. Ahora, para ejecutar la aplicación real, ejecute el siguiente comando en la terminal:
Paso 7 – Acceder a Su Aplicación FastAPI
Una vez que el contenedor esté en ejecución, puede acceder a su aplicación FastAPI navegando a http://localhost:8000
en su navegador web.
Paso 8 [OPCIONAL] – Gestionar Su Contenedor de Docker
Aquí hay algunos consejos para ayudarle a controlar mejor el entorno contenedorizado que ejecuta su aplicación FastAPI.
-
Para detener el contenedor en ejecución, presione Ctrl + C o Command + ..
-
Para recuperar el control mientras se ejecuta el contenedor en segundo plano, use:
-
Para detener y eliminar su contenedor, ejecute:
Conclusión
En este tutorial, aprendió cómo crear y configurar una aplicación FastAPI en una máquina Ubuntu utilizando Docker Compose. Con la velocidad de FastAPI y la eficiencia de Docker, puede construir aplicaciones robustas y escalables con confianza.
Source:
https://www.digitalocean.com/community/tutorials/create-fastapi-app-using-docker-compose