Tema 1: Containerización
⏱️ Tiempo estimado: 3-4 días
La containerización es un enfoque moderno para desplegar y administrar aplicaciones y servicios en distintos entornos. Te permite empaquetar software, herramientas y dependencias en unidades livianas y portables llamadas contenedores.
Beneficios clave:
- Consistencia entre desarrollo, testing y producción
- Uso más eficiente de recursos que VMs
- Despliegue y escalado más simples
- Aislamiento entre aplicaciones
Hay muchas herramientas de contenedores como Docker, Podman, Containerd, etc. En este tema vas a aprender a usar herramientas como Docker para crear estos entornos aislados y explorar cómo AWS, Azure y GCP soportan workloads containerizados. También vas a aprender cómo aprovechar contenedores para correr servidores MCP (Model Context Protocol), que permiten integrar apps con LLMs y herramientas externas de IA.
📚 Ruta de aprendizaje
Estudia
Conceptos base
- ¿Qué es la Containerización?
- Diferencia entre Containerización y virtualización
- ¿Qué es Docker?
- ¿Qué es MCP (Model Context Protocol)?
Registros de contenedores
- ¿Qué es un Container Registry?
- Cómo containerizar una app y desplegarla en distintos registries:
🛠️ Tareas hands-on
Proyecto básico de containerización
- Crea una app simple (o usa una que ya tengas)
- Escribe un Dockerfile para la app
- Construye la imagen Docker
- Corre el contenedor local y verifica que funcione
- Crea una cuenta en DockerHub (u otro registry)
- Taggea y pushea tu imagen al registry
- Pullear y correr tu imagen en otra máquina para validar portabilidad
Correr el GitHub MCP Server localmente como contenedor
- Asegúrate de tener Docker Desktop y GitHub Copilot instalado
- Instala el GitHub MCP Server oficial en Docker Desktop
- Crea un GitHub Personal Access Token y pásaselo al server
- Habilita MCP Gateway en VS Code con
docker mcp gateway run(usa la Command Palette) - Habilita Agent mode en GitHub Copilot
- Explora y prueba: consulta repos y realiza operaciones de GitHub
Problemas comunes y troubleshooting
🧪 Pon a prueba tu conocimiento
Usa un asistente de IA para evaluarte. Pasos:
-
Abre una conversación nueva con ChatGPT, Claude o Google Gemini
-
Usa este prompt inicial:
Estoy aprendiendo sobre contenedores y Docker. Quiero que actúes como entrevistador/a:
- Hazme preguntas una por una sobre conceptos de containerización
- No me des las respuestas de inmediato
- Dame feedback sobre mis respuestas
- Si estoy mal, guíame hacia la respuesta correcta
- Comparte ejemplos reales después de cada respuesta
¿Empezamos? -
Intenta responder cada pregunta. Temas clave:
- Contenedores vs máquinas virtuales
- Arquitectura de Docker y sus componentes
- Estructura de Dockerfile y buenas prácticas
- Registries y manejo de imágenes
- Networking y storage en contenedores
- Consideraciones de seguridad
-
Después de cada respuesta:
- Pide feedback
- Pide ejemplos reales
- Pide aclaraciones si lo necesitas
Tip pro: comparte tu contexto específico: “Estoy containerizando una app Node.js con Docker. Enfoca las preguntas en ese escenario.”
Recuerda: el objetivo es evaluar tu entendimiento, no acertar todo a la primera.
✅ Checklist del tema
Antes de seguir, asegúrate de tener:
- Entendido containerización vs virtualización
- Aprendido lo básico de Docker y su arquitectura
- Escrito un Dockerfile para una app
- Construido y corrido un contenedor local
- Pusheado una imagen a un registry
- Configurado y probado el GitHub MCP Server
- Entendido networking y storage en contenedores