La contenedorización es una característica épica que nos permite a los desarrolladores empaquetar una aplicación junto con las dependencias requeridas en una sola unidad. Luego podemos mover el contenedor e implementar la aplicación en distintos entornos sin tener que preocuparnos por la compatibilidad.
¿Qué es el matraz?
Flask es un marco micro web minimalista y liviano para Python. Proporciona las funciones y bibliotecas esenciales necesarias para crear una aplicación web ligera utilizando el lenguaje Python.
Flask sigue la interfaz de puerta de enlace del servidor web o estándar WSGI que nos permite incorporar un diseño minimalista con un patrón flexible que puede manejar la solicitud HTTP y otras características. Por ejemplo, Flask admite funciones web como enrutamiento, bases de datos y más.
Requisitos previos:
Para seguir el código y los comandos que se proporcionan en este tutorial, asegúrese de tener las siguientes herramientas:
- Intérprete de Python instalado en su máquina (se recomienda la versión 3.11 y superior)
- Motor Docker instalado en la máquina host (se recomienda la versión 23 y superior)
- Un editor de texto o IDE de su elección
Una vez cumplidos los requisitos dados, podemos continuar con este tutorial.
Crear la aplicación Flask
Como puedes adivinar, el primer paso es crear la aplicación Python que deseamos contener. Para nuestro caso, lo demostramos con una aplicación minimalista que imprime 'hola mundo'.
Cree un nuevo directorio para almacenar el código fuente de su proyecto y cree un archivo Python llamado 'app.py'.
Edite 'app.py' con su editor de texto o IDE favorito y agregue el código para su aplicación de la siguiente manera:
de matraz importar Matrazaplicación = Matraz ( __nombre__ )
@ aplicación. ruta ( '/' )
definición Hola Mundo ( ) :
devolver '
¡Hola mundo!
'
Crear un archivo Docker
A continuación, debemos definir las instrucciones que nos permitan empaquetar la aplicación como una imagen de Docker. Usamos el Dockerfile que contiene todas las instrucciones y herramientas para configurar la imagen.
En el mismo directorio que “hello.py”, cree un nuevo archivo llamado “Dockerfile” sin extensión. Ejecute el siguiente comando:
$ toque DockerfileEdite el archivo y agregue el código de la siguiente manera:
Utilice la imagen oficial de Python como imagen base.
DESDE pitón: 3.12 -rc-delgadoDIRTRABAJO /aplicación
COPIAR . /aplicación
# Instalar matraz
RUN pip install --no-cache- tú -r requisitos. TXT
# Exponer el puerto 5000 para la aplicación Flask
EXPONER 5000
# ejecutar la aplicación Flask
CMD [ 'pitón' , 'app.py' ]
El Dockerfile anterior realiza las siguientes operaciones:
- Utiliza la imagen delgada oficial de Python 3.12 como imagen base
- Establece el directorio de trabajo dentro del contenedor en '/app'
- Copia el contenido del directorio del proyecto en el contenedor.
- Instala Flask y cualquier otra dependencia ejecutando 'pip install' usando el archivo 'requirements.txt'
- Expone el puerto 5000 para la aplicación Flask.
- Define el comando para ejecutar la aplicación Flask.
Asegúrese de que el archivo 'requirements.txt' exista en el directorio del proyecto y agregue el contenido del archivo como se muestra a continuación:
Matraz == 2.3.3En este caso especificamos que deseamos instalar la versión 2.3.3 de Flask.
Construya la imagen de Docker
Ahora que tenemos la aplicación Flask y Dockerfile listos, podemos continuar y construir la imagen con el siguiente comando:
docker build -t flask-docker-app.Asegúrese de estar en el directorio del proyecto antes de ejecutar el comando anterior. Puede reemplazar la aplicación flask-docker con el nombre que desea asignar a su imagen.
Ejecute el contenedor Docker
Con la imagen de Docker creada, podemos ejecutar el contenedor basado en la imagen usando el comando 'docker run' de la siguiente manera:
ejecución de la ventana acoplable -p 5000 : 5000 aplicación-docker-flaskEsto debería crear un contenedor y asignar el puerto 5000 del contenedor al puerto 5000 en el sistema host.
Una vez ejecutado, abra el navegador y navegue hasta http://localhost:5000 .
Deberías ver el mensaje '¡Hola, mundo!' mensaje de la aplicación Flask.
Conclusión
En este tutorial, aprendió cómo contener una aplicación Python Flask simple usando Docker.