Docker Container – Convierta la aplicación web Python en imágenes y Pus Live
Descubra cómo aprovechar Docker para convertir una aplicación web de Python Flask en imágenes y enviarlas al centro de Docker.
Para implementar y ejecutar aplicaciones web de manera más resiliente, flexible y rentable, la creación de contenedores de aplicaciones es uno de los enfoques más populares en todo el mundo. En este artículo, explicaré cómo aprovechar Docker para convertir una aplicación web de Python Flask en imágenes y enviarlas al centro de Docker. Al final de este artículo, puede aprender a implementar imágenes en vivo en el centro de Docker que se usaría para conectarse con la nube.
Tabla de contenido: Convierta la aplicación web de Python en imágenes y publíquela usando Docker
- ¿Qué es Docker?
- Cree una credencial y descargue la aplicación Docker (versión Macbook)
- Documentos de la aplicación Flask
- Dockerfile Doc
- Cree una nueva etiqueta de imagen localmente
- Empuje la nueva imagen a Docker Hub
- Script completo de Python de convertir la aplicación web de Python en imágenes y enviar en vivo usando Docker
¿Qué es Docker?
Docker es una plataforma de código abierto que permite a los desarrolladores automatizar la implementación y ejecución de aplicaciones dentro de contenedores. Los contenedores son entornos ligeros, portátiles y aislados que empaquetan una aplicación con sus dependencias, como bibliotecas y configuraciones, lo que permite una ejecución coherente y fiable en diferentes entornos informáticos.
Estos son algunos conceptos clave relacionados con Docker:
- Contenedorización: Docker utiliza tecnología de contenedorización, que implica la creación y ejecución de contenedores. Los contenedores proporcionan un entorno aislado y reproducible, lo que garantiza que las aplicaciones puedan ejecutarse de forma coherente en varios sistemas.
- Imagen de Docker: una imagen es un paquete ligero, independiente y ejecutable que incluye todo lo necesario para ejecutar una aplicación, incluido el código, el tiempo de ejecución, las bibliotecas y las dependencias. Las imágenes sirven como bloques de construcción para los contenedores.
- Contenedor Docker: un contenedor es una instancia de una imagen. Se ejecuta como un proceso separado en el sistema host, aislado de otros contenedores y de la infraestructura subyacente. Los contenedores son portátiles y se pueden mover fácilmente entre diferentes sistemas que tengan Docker instalado.
- Dockerfile: un Dockerfile es un archivo de texto que contiene instrucciones para crear una imagen de Docker. Especifica la imagen base, la configuración, las dependencias y los comandos necesarios para configurar el entorno de la aplicación.
- Registro de Docker: un registro de Docker es un repositorio que almacena imágenes de Docker. El registro más utilizado es Docker Hub, que es un registro público que aloja una gran cantidad de imágenes preconstruidas. Además, puede configurar registros privados para almacenar y compartir sus propias imágenes de Docker dentro de su organización.
- Docker Compose: Docker Compose es una herramienta para definir y gestionar aplicaciones multicontenedor. Le permite describir entornos de aplicaciones complejos utilizando un archivo YAML y luego implementarlos y administrarlos como una sola unidad.
- Orquestación: Docker Swarm y Kubernetes son plataformas de orquestación que ayudan a administrar y escalar aplicaciones en contenedores en varios hosts o clústeres. Proporcionan funciones para la implementación automatizada, el escalado, el equilibrio de carga y la reparación automática de contenedores.
Docker ha ganado popularidad debido a su capacidad para simplificar el empaquetado, la implementación y el escalado de aplicaciones. Promueve un flujo de trabajo de desarrollo uniforme y eficiente, lo que facilita que los equipos colaboren e implementen aplicaciones en diferentes entornos.
Cree una credencial y descargue la aplicación Docker
Docker proporciona un nivel gratuito que incluye 1 repositorio privado que no es público. Una vez que se ha creado una nueva cuenta, debemos descargar la aplicación Docker e instalarla en un dispositivo local. Tiene Windows, versión Linux, versión OS también
Documentos de la aplicación Flask
Lo primero es lo primero, debemos preparar un conjunto completo de documentos de la aplicación Flask basados en la estructura del marco Flask. Una de las principales cosas que debemos verificar es el puerto y el valor del host en app.py. Asegúrese de agregar estos parámetros en el script de la aplicación principal de Flask.
if __name__ == "__main__" :
app . run ( debug = True , host = "0.0.0.0" , port = 8000 )
Dockerfile Doc
En el nivel raíz de la aplicación Flask, que se encuentra en el mismo piso que requirements.txt, debemos agregar un Dockerfile. En este archivo, instalamos y configuramos principalmente varios componentes críticos para las imágenes de Docker:
- Versión de idioma
- Ruta de directorio
- COPIAR dependencias
- EJECUTAR e instalar dependencias
- COPIA los documentos de la aplicación Flask y colócalos en una ubicación
- Manda y ejecuta
Aquí hay una muestra:
FROM python : 3.9.6
WORKDIR /python-flaskdemo
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY ./democn ./democn
CMD [ "python" , "./democn/app.py" ]
Ordene y cree una nueva etiqueta de imagen de Docker localmente
Cuando todos los documentos estén listos en la carpeta, podemos copiar la carpeta y construir la imagen usando los documentos con el siguiente comando:
docker build -t flaskdemo .
Para la demostración de matraz aquí, es el nombre de la etiqueta de la imagen localmente. Puedes nombrar lo que quieras. El nombre de la imagen se mostraría en la interfaz local de Docker Desktop después de haber sido compilada correctamente.
Una vez que se completa la creación de la imagen, puede intentar ejecutar localmente y verificar si la aplicación web se ejecuta tan bien como se esperaba. Este proceso es similar a la aplicación Flask que se ejecuta localmente
docker run -p 8000:8000 flaskdemo
Empuje las etiquetas de imagen de Docker local a Docker Hub
Ahora es el momento de enviar la imagen de su aplicación web lista a Docker Hub. Básicamente, es un proceso para ponerlo en marcha. Hay varios pasos en su terminal:
Paso 1: iniciar sesión en la ventana acoplable
Utilice este comando para comprobar si el escritorio de Docker ya se ha conectado con el concentrador de Docker. Asegúrese de que esté conectado al concentrador, o debe iniciar sesión primero con la credencial que creó anteriormente.
Paso 2: imagen acoplable
Ingrese este comando para buscar la etiqueta de imagen que va a enviar en vivo. Cópielo y bájelo primero y se utilizará en un momento.
Paso 3: etiquete Docker y envíe una imagen existente a Docker Hub
Escriba este comando con el ID de etiqueta que acaba de copiar, la ruta del proyecto de Docker Hub y el nuevo nombre de la imagen que se muestra en Docker Hub. El nombre de la imagen puede ser diferente al local porque Docker Desktop enviaría las configuraciones y los documentos representados a la nueva imagen.
docker tag tagID dockerHubname/projectname:newimagename
Script completo de Python de convertir la aplicación web de Python en imágenes y enviar en vivo usando Docker
Si está interesado en el Capítulo 81: Convierta la aplicación web de Python en imágenes y envíelas en vivo usando Docker, suscríbase a nuestro boletín agregando el mensaje 'Capítulo 81 + Scripts completos de conversión de imágenes de Docker para aplicaciones web de Python' . Le enviaremos la secuencia de comandos cuando la secuencia de comandos de la aplicación actualizada esté activa.
Espero que disfrute leyendo el Capítulo 81: Convierta la aplicación web de Python en imágenes y envíelas en vivo usando Docker. Si lo hiciste, apóyanos haciendo una de las cosas que se enumeran a continuación, porque siempre ayuda a nuestro canal.
- Apoya y dona a nuestro canal a través de PayPal ( paypal.me/Easy2digital )
- Suscríbete a mi canal y activa la campanita de notificaciones Easy2Digital Youtube channel .
- Sigue y dale me gusta a mi página Easy2Digital Facebook page
- Comparte el artículo en tu red social con el hashtag #easy2digital
- Te suscribes a nuestro boletín semanal para recibir los últimos artículos, videos y códigos de descuento de Easy2Digital
- Suscríbase a nuestra membresía mensual a través de Patreon para disfrutar de beneficios exclusivos ( www.patreon.com/louisludigital )