Un curso completo de Python organizado en módulos independientes con ambientes Docker especializados.
# Setup inicial (obligatorio)
make setup
# Iniciar módulo específico
make start-fundamentos # Puerto 8888
make start-ml # Puerto 8893
# Ver estado de contenedores
make status
# Detener todos los módulos
make stop-all8 módulos independientes con puertos dedicados:
📚 modulos/
├── 01_fundamentos/ # 8888 - Python básico ✅
├── 02_poo/ # 8889 - Programación Orientada a Objetos ✅
├── 03_algoritmos/ # 8890 - Algoritmos y Estructuras ✅
├── 04_web/ # 8891 - Flask/Django ✅
├── 05_analisis_datos/ # 8892 - Pandas/NumPy ✅
├── 06_machine_learning/# 8893 - Scikit-learn ✅
├── 07_deep_learning/ # 8894 - TensorFlow/Keras 🔧
└── 08_proyectos/ # 8895 - Proyectos finales 🔧
make build-[modulo] # Construir módulo específico
make start-[modulo] # Iniciar módulo
make logs-[modulo] # Ver logs en tiempo real
make reset-[modulo] # Reset completomake clean-outputs-all # Limpiar outputs notebooks (pre-commit)
make prepare-share # Preparar para compartir
make docker-info # Estado Docker completo./manage.sh start fundamentos
./manage.sh build ml
./manage.sh status- Docker y Docker Compose
- Make (para comandos automatizados)
- Permisos:
chmod +x manage.shsi es necesario
- Setup inicial:
make setup(construye imagen base) - Desarrollo progresivo: Empezar con
fundamentos - Múltiples módulos: Usar puertos diferentes para trabajar en paralelo
- Pre-commit: Siempre ejecutar
make clean-outputs-all
- Imagen base compartida: Optimizada para todos los módulos
- Perfiles independientes: Cada módulo se ejecuta aisladamente
- Volúmenes: Notebooks persistentes + datos compartidos
- Usuario no privilegiado: Ejecución segura como
jovyan
# Puerto ocupado
make stop-all && make start-[modulo]
# Imagen base no existe
make build-base
# Contenedores zombie
make clean-all
# Reset completo
make reset-all� python/
├── 🐳 docker-compose.yml # Orquestación completa
├── 🛠️ Makefile # 60+ comandos automatizados
├── 🛠️ manage.sh # Script espejo de Makefile
├── 📊 data/ # Datasets compartidos
├── 🤖 modelos/ # Modelos ML/DL
└── � modulos/ # Módulos educativos
└── XX_nombre/
├── Dockerfile
├── requirements.txt
└── notebooks/
Estado: ✅ Módulos 1-6 completamente funcionales | � Módulos 7-8 en desarrollo
Comandos: 60+ comandos make disponibles | Alternativa: manage.sh
Optimizado: Limpieza automática, reset por módulos, preparación para compartir ├── 02_poo/ # Puerto 8889 ├── 03_algoritmos/ # Puerto 8890 ├── 04_web/ # Puerto 8891 ├── 05_analisis_datos/ # Puerto 8892 ├── 06_machine_learning/ # Puerto 8893 ├── 07_deep_learning/ # Puerto 8894
Estado: ✅ Módulos 1-6 completamente funcionales | 🔧 Módulos 7-8 en desarrollo
Comandos: 60+ comandos make disponibles | Alternativa: manage.sh
Optimizado: Limpieza automática, reset por módulos, preparación para compartir