Cómo crear y ejecutar una aplicación Flask usando Docker

17 ago 2022 3 min di lettura
Cómo crear y ejecutar una aplicación Flask usando Docker
Indice dei contenuti

Introducción

En este tutorial, aprenderá a crear una aplicación Flask básica con Docker. Configure su aplicación con un Dockerfile y administre imágenes con un proceso de compilación automatizado.

En este proceso, también aprenderá a usar múltiples entornos virtuales de Python y a mantener su código fuente organizado.

¿Qué es Flask?

Flask es un marco ligero de Python para crear aplicaciones web. Es simple, flexible y pragmático. Se puede ampliar fácilmente con el uso de extensiones y complementos. Flask se puede utilizar para crear sitios web pequeños o aplicaciones complejas a gran escala.

Flask es utilizado por empresas como Pinterest, Twitter, Walmart y Cisco. Uno de los usos comunes de Flask es para las API REST que se utilizan para interactuar con otros sistemas. Las aplicaciones escritas en Flask también se pueden implementar fácilmente en un servidor o en la nube.

Crear una aplicación Flask básica

Antes de que pueda crear una imagen de Docker con su aplicación, debe tener una aplicación básica que pueda ejecutar localmente o en un servidor.

En esta sección, creará una aplicación básica con Flask y luego la ejecutará en un contenedor de Docker. Puede usar su editor favorito para crear la aplicación o puede usar el siguiente comando en su terminal para crear una nueva aplicación:

Comencemos con la creación de un nuevo directorio:

mkdir flask-app && flask-app 

A continuación, cree el entorno virtual de Python y luego active el entorno:

python3 -m venv venv 
source venv/bin/activate 

Ahora instale el módulo Flask Python en el entorno virtual:

pip install Flask 

El siguiente comando creará el archivo Requisitos.txt con los paquetes instalados en el entorno actual. Este archivo es útil para instalar el módulo en distribuciones:

pip freeze > requirements.txt 

Ahora cree una aplicación Flask de muestra. Puede escribir su código en un archivo .pyy ejecutarlo con el comando python:

vim app.py 

Agregue el fragmento a continuación:

# Import flask module
from flask import Flask
 
app = Flask(__name__)
 
@app.route('/')
def index():
    return 'Hello to Flask!'
 
# main driver function
if __name__ == "__main__":
    app.run()

Su aplicación de muestra Flask está lista. Puede ejecutar este script con Python ahora:

flask run --host 0.0.0.0 --port 5000 

Ahora que tiene una aplicación básica, puede ejecutarla en un contenedor Docker creando un archivo llamado Dockerfile en el mismo directorio que su archivo app.py.

Cree un Dockerfile para su aplicación Flask

Un Dockerfile es un archivo que contiene instrucciones sobre cómo crear la imagen. Describe todo el proceso de creación de imágenes, desde la instalación de la aplicación de Python hasta la creación del contenedor.

Vamos a crear un archivo llamado Dockerfile en el directorio del proyecto. Esta es la ventana flotante del archivo que lee las instrucciones para crear la imagen:

vim Dockerfile 

Agrega el siguiente código:

FROM python:3-alpine

# Create app directory
WORKDIR /app

# Install app dependencies
COPY requirements.txt ./

RUN pip install -r requirements.txt

# Bundle app source
COPY . .

EXPOSE 5000
CMD [ "flask", "run","--host","0.0.0.0","--port","5000"]

Guarde el archivo y ciérrelo.

Luego, cree la imagen de Docker ejecutando el comando que se indica a continuación. Aquí "flask-app" es el nombre de la imagen:

docker build -t flask-app . 

Esta imagen se creará en el registro de imágenes local. Luego puede crear un contenedor Docker con el siguiente comando:

sudo docker run -it -p 5000:5000 -d flask-app  

Ahora verifique que el contenedor se esté ejecutando en su sistema:

docker containers ls  

Finalmente, abra un navegador y conéctese a localhost en el puerto 5000 (o use su puerto definido). Debería ver la aplicación recién creada.

Puede usar un Dockerfile para automatizar la creación y actualización de su imagen.

Conclusión

En este tutorial, aprendió a crear una aplicación Flask básica y crear una imagen de Docker con ella. También aprendiste a crear un registro privado y automatizar la creación y actualización de tu imagen.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.