Cómo ejecutar un Script de Python con Docker paso a paso

Ejecutar scripts en Python es algo de lo más común, pero mantener las dependencias organizadas entre diferentes sistemas.. eso ya es otra historia.

Aquí es donde entra Docker al rescate: te permite meter tu script de Python y todas sus dependencias en un contenedor, para que funcione igual en cualquier sitio, sin dramas.

En esta guía te explico cómo hacerlo desde cero, con un ejemplo real y todo listo para probar en tu máquina.

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

Porque te ahorra un montón de quebraderos de cabeza. No tienes que andar instalando librerías por todo el sistema, ni pelearte con versiones raras o conflictos entre proyectos.

Todo lo que tu script necesita va dentro del contenedor. Así, si se lo pasas a un colega, a producción o a otra máquina, funcionará igual. Sin «a mí me va», ni historias.

Además, tu sistema se mantiene limpio, y puedes desplegar o compartir tu script con un simple comando. ¿Suena bien? Vamos al lío.

1. Escribe el Script en Python

Crea una carpeta para el proyecto:

mkdir docker_file_organizer
cd docker_file_organizer

Ahora crea un archivo llamado organize_files.py:

nano organize_files.py

Pega este código:

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"Movido: {fname} → {ext}/")
    except Exception as e:
        print(f"Error organizando archivos: {e}")

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

Este script organiza archivos por extensión: .txt, .jpg, .csv… lo que haya. Los mete en carpetas según su tipo. Limpio y efectivo.

2. Crea el Dockerfile

Ahora vamos a decirle a Docker cómo debe montar el entorno para ejecutar ese script. Crea un archivo llamado Dockerfile (sin extensión):

FROM python:latest
LABEL maintainer="tucorreo@example.com"
WORKDIR /usr/src/app
COPY organize_files.py .
CMD ["python", "./organize_files.py"]

3. Construye la imagen de Docker

Asegúrate de tener Docker instalado. Luego, en la terminal dentro del directorio:

sudo docker build -t file-organizer .

Esto crea una imagen llamada file-organizer.

4. Prepara una carpeta con archivos de prueba

Vamos a ver si funciona. Crea una carpeta con archivos varios:

mkdir ~/sample_files
touch ~/sample_files/nota.txt
touch ~/sample_files/foto.jpg
touch ~/sample_files/datos.csv

5. Ejecuta el Script con Docker

Ahora viene la magia. Ejecutamos el contenedor y montamos nuestra carpeta para que el script acceda a los archivos:

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

El --rm borra el contenedor cuando termine (así no se te llena el disco). El -v monta tu carpeta real dentro del contenedor.

6. Verifica que todo funciona

Comprueba cómo han quedado los archivos organizados:

tree sample_files

Si no tienes tree, puedes instalarlo:

  • En Ubuntu: sudo apt install tree
  • En macOS: brew install tree

Conclusión

Con este sistema puedes:

  • Compartir scripts sin preocuparte por dependencias
  • Automatizar tareas sin manchar tu sistema
  • Reutilizar el contenedor para otros proyectos

Y si te vienes arriba, puedes:

  • Añadir más scripts al contenedor
  • Programar la ejecución con cron
  • Integrarlo con GitHub, Jenkins o nubes como AWS/GCP

Docker y Python hacen buena pareja. Ahora que sabes cómo combinarlos, ¡a por tus automatizaciones!

Preguntas frecuentes (FAQ) de cómo ejecutar un Script de Python con Docker paso a paso

¿Por qué usar Docker para scripts de Python?

Docker te permite encapsular tu script con todas sus dependencias para que funcione igual en cualquier entorno. Evita conflictos de versiones y mantiene tu sistema limpio.

¿Qué hace el script organize_files.py?

Organiza archivos dentro de una carpeta según su extensión (.txt, .jpg, etc.), creando carpetas para cada tipo y moviendo los archivos a su lugar correspondiente.

⚙️ ¿Cómo creo una imagen de Docker para mi script?

Escribes un Dockerfile que use una imagen base de Python, copies tu script y definas el comando que debe ejecutarse. Luego usas docker build para generar la imagen.

️ ¿Para qué sirve el parámetro -v en docker run?

Para montar una carpeta de tu sistema dentro del contenedor. Así el script puede acceder y modificar archivos del entorno real.

¿Qué hace la opción –rm al ejecutar Docker?

Elimina el contenedor automáticamente al finalizar la ejecución, evitando acumulación de contenedores temporales.

¿Cómo verifico que los archivos se organizaron?

Usa el comando tree sample_files para ver la estructura del directorio tras la ejecución del script. Si no tienes tree, puedes instalarlo fácilmente.

¿Puedo reutilizar este contenedor para otros proyectos?

Sí. Puedes añadir más scripts, planificar tareas con cron o integrarlo en CI/CD con herramientas como GitHub Actions o Jenkins.

Admin

Compartir
Publicado por
Admin
Etiquetas: DockerPython

Entradas recientes

Premio Nobel se une a Bigtechs para trabajar en construir Computadoras Cuánticas personales

La computación cuántica acaba de dar un salto gigante. John M. Martinis, recién galardonado con…

1 hora hace

La biografía de Steve Jobs escrita por el biógrafo Walter Isaacson

La biografía más vendida del cofundador de Apple, Steve Jobs; escrita por uno de los…

2 días hace

Cómo la Inteligencia Artificial está Revolucionando los Sistemas de Seguridad en el Hogar

Hubo un tiempo en el que la “seguridad en el hogar” significaba confiar en un…

2 días hace

Elon Musk se asegura una compensación de 1 billón de dólares con Tesla

Elon Musk vuelve a romper todos los esquemas. Los accionistas de Tesla acaban de aprobar…

2 días hace

GTA 6 se retrasa hasta finales de 2026

Los fans de Grand Theft Auto tendrán que esperar un poco más para volver a…

5 días hace

Juego de terror GRATIS este Halloween, sobrevive en Five Nights at Freddy’s Into the Pit

Five Nights at Freddy’s: Into the Pit nos sumerge en un misterioso mundo donde lo…

2 semanas hace