15.2 C
Madrid
viernes, octubre 24, 2025
spot_img
spot_img

Cómo ejecutar un script de Python usando Docker

Ejecutar scripts de Python es una de las tareas más comunes en la automatización. Sin requisa, la diligencia de dependencias en diferentes sistemas puede ser un desafío. Ahí es donde entra Docker. Docker le permite empaquetar su script de Python inmediato con todas sus dependencias requeridas en un contenedor, asegurando que ejecute de la misma modo en cualquier máquina. En esta itinerario paso a paso, recorreremos el proceso de crear un grímpola de Python de la vida vivo y ejecutarlo adentro de un contenedor Docker.

¿Por qué usar Docker para los scripts de Python?

Cuando estás trabajando con los scripts de Python, las cosas pueden volverse desordenadas/complejas muy rápido. Diferentes proyectos necesitan diferentes bibliotecas, y lo que se ejecuta en su máquina podría romperse en las de otra persona. Docker resuelve eso empacando su script y su entorno juntos. Entonces, en circunscripción de asegurar «funciona en mi máquina», puede estar seguro de que funciona igual en todas partes.

Incluso mantiene su sistema íntegro. No tiene que instalar cada paquete de Python a nivel mundial o preocuparse por los conflictos de versiones. Todo permanece adentro del contenedor.

Si está desplegando o entregando su grímpola a otra persona, Docker todavía lo hace posible. No hay instrucciones de configuración, sin «instalar esto y aquello». Solo un comando, y se ejecuta.

Escribe el grímpola de Python

Creemos un directorio de esquema para amparar su script de Python y Dockerfile. Una vez creado, navegue a este directorio utilizando el cd dominio:

mkdir docker_file_organizer
cd docker_file_organizer

Cree un script llamado «Organize_Files.py» para escanear un directorio y agrupar archivos en carpetas en función de sus extensiones de archivo:

nano organize_files.py

Pegue el posterior código en el archivo «organize_file.py». Aquí, usamos dos módulos de Python preconstruidos, llamados os y shutilpara manejar archivos y crear directorios dinámicamente:

import os
import shutil

SOURCE_DIR = "/files"

def organize_by_extension(directory):
try:
for fname in os.listdir(directory):
path = os.path.join(directory, fname)
if os.path.isfile(path):
ext = fname.split('.')(-1).lower() if '.' in fname else 'no_extension'
dest_dir = os.path.join(directory, ext)
os.makedirs(dest_dir, exist_ok=True)
shutil.move(path, os.path.join(dest_dir, fname))
print(f"Moved: {fname} → {ext}/")
except Exception as e:
print(f"Error organizing files: {e}")

if __name__ == "__main__":
organize_by_extension(SOURCE_DIR)

En este script, organizamos archivos en un directorio determinado basado en sus extensiones. Usamos el os Módulo Para enumerar los archivos, verifique si cada aspecto es un archivo, extrae su extensión y cree carpetas que llevan el nombre de esas extensiones (si aún no existen). Entonces, usamos el shutil Módulo para mover cada archivo a su carpeta correspondiente. Para cada movimiento, imprimimos un mensaje que muestra la nueva ubicación del archivo.

LEER  Este es uno de los ataques de phishing más sofisticados jamás realizados contra los usuarios de Mac

Crea el Dockerfile

Ahora, cree un DockerFile para especificar el entorno en el que se ejecutará su script:

FROM python:latest
LABEL maintainer="you@example.com"
WORKDIR /usr/src/app
COPY organize_files.py .
CMD ("python", "./organize_files.py")

Usamos este DockerFile para crear un contenedor con Python, agregarle nuestro script y asegurarnos de que el script se ejecute automáticamente cuando comience el contenedor:

Crear archivo Docker

Construye la imagen Docker

Ayer de que pueda construir la imagen Docker, primero debe instalar Docker. A posteriori de eso, ejecute el posterior comando para empaquetar todo en una imagen de Docker:

sudo docker build -t file-organizer .

Lee nuestro Dockerfile y reúne la configuración de Python y nuestro script para que estén listos para ejecutarse en una sola imagen de contenedor:

Imagen de Docker de construcción

Crear una carpeta de muestra con archivos

Para ver nuestro script en movimiento, creamos una carpeta de prueba llamamiento «sample_files» con algunos archivos de diferentes tipos. Creamos estos archivos solo para hacer que la carpeta sea un poco desordenada y ver cómo la maneja nuestro script de Python:

mkdir ~/sample_files
touch ~/sample_files/test.txt
touch ~/sample_files/image.jpg
touch ~/sample_files/data.csv

Ejecute el grímpola adentro de Docker

Finalmente, ejecutamos nuestro contenedor Docker y montamos la carpeta de muestra en él. El -v Flag monta su directorio tópico «~/sample_files» en el directorio «/archivos» en el contenedor, que permite que el script de Python lea y organice archivos en su máquina host:

docker run --rm -v ~/sample_files:/files file-organizer

Aquí, usamos el --rm Opción para eliminar el contenedor automáticamente a posteriori de que termine en funcionamiento, lo que tutela espacio en disco:

Ejecutar el script en Docker

Al final, usamos el tree Comando para efectuar si los archivos se han colocado en carpetas en función de sus extensiones:

tree sample_files
Verificar el resultado con el comando de árbol

Nota: El tree El comando no está preinstalado en la mayoría de los sistemas. Puede instalarlo fácilmente usando un administrador de paquetes como apt En Ubuntu, brew en macOS, y así sucesivamente.

LEER  La producción M4 MacBook Pro parece estar en marcha, como se esperaba el lanzamiento pronto

Pensamientos finales

Con su script Python ejecutándose adentro de Docker, está dinámico para servirse al mayor una configuración de progreso limpia, portátil y consistente. Puede reutilizar fácilmente este flujo de trabajo contenedor para otras tareas de automatización, compartir su script sin preocuparse por las dependencias y amparar su sistema libertado de desorden. Como el posterior paso, considere explorar cómo crear imágenes de Docker múltiples, programar contenedores con trabajos cron o integrar sus scripts con otras herramientas como Git, Jenkins o incluso plataformas en la montón para optimizar su proceso de automatización e implementación.

spot_img

Artículos relacionados

spot_img

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Últimos artículos