|
1 | | -# Módulo 2 - Contenedores Docker |
2 | | - |
3 | | -## Agenda |
| 1 | +# Módulo 01 - Contenedores Docker 📦🐳 |
| 2 | + |
| 3 | +¡Hola lemoncoder 🍋👩🏼💻🧑🏽💻! Bienvenid@ al módulo de contenedores Docker, donde aprenderás desde los conceptos básicos hasta técnicas avanzadas de contenerización y orquestación con Docker Compose y Docker Swarm. |
| 4 | + |
| 5 | +## 📋 Índice del Contenido |
| 6 | + |
| 7 | +### 📁 Estructura del Directorio |
| 8 | + |
| 9 | +- **[contenedores-i/](./contenedores-i/)** - Día I: Introducción a Docker |
| 10 | +- **[contenedores-ii/](./contenedores-ii/)** - Día II: Trabajando con imágenes |
| 11 | +- **[contenedores-iii/](./contenedores-iii/)** - Día III: Contenerización de aplicaciones |
| 12 | +- **[contenedores-iv/](./contenedores-iv/)** - Día IV: Almacenamiento y monitorización |
| 13 | +- **[contenedores-v/](./contenedores-v/)** - Día V: Networking |
| 14 | +- **[contenedores-vi/](./contenedores-vi/)** - Día VI: Docker Compose y Docker Swarm |
| 15 | +- **[lemoncode-challenge/](./lemoncode-challenge/)** - 🏆 Laboratorio final y desafíos |
| 16 | + |
| 17 | +### 🎯 Contenido por Directorio |
| 18 | + |
| 19 | +#### [`contenedores-i/`](./contenedores-i/) - Fundamentos Docker |
| 20 | +- **README.md**: Guía completa del Día I |
| 21 | +- **imagenes/**: Recursos visuales y diagramas |
| 22 | +- **Contenido**: Instalación, primeros comandos, gestión básica de contenedores |
| 23 | + |
| 24 | +#### [`contenedores-ii/`](./contenedores-ii/) - Gestión de Imágenes |
| 25 | +- **README.md**: Guía completa del Día II |
| 26 | +- **Dockerfile**: Ejemplos de construcción de imágenes |
| 27 | +- **deberes-ii.sh**: Script con ejercicios prácticos |
| 28 | +- **web/**: Aplicación de ejemplo para contenerizar |
| 29 | +- **imagenes/**: Recursos visuales |
| 30 | + |
| 31 | +#### [`contenedores-iii/`](./contenedores-iii/) - Contenerización Avanzada |
| 32 | +- **README.md**: Guía completa del Día III |
| 33 | +- **doom-web/**: Ejemplo práctico de aplicación web |
| 34 | +- **imagenes/**: Recursos visuales |
| 35 | +- **Contenido**: Dockerfiles multi-stage, buenas prácticas |
| 36 | + |
| 37 | +#### [`contenedores-iv/`](./contenedores-iv/) - Persistencia y Monitoreo |
| 38 | +- **README.md**: Guía completa del Día IV |
| 39 | +- **web-content/**: Contenido para ejemplos de volúmenes |
| 40 | +- **imagenes/**: Recursos visuales |
| 41 | +- **Contenido**: Volúmenes, bind mounts, monitoring con Prometheus/Grafana |
| 42 | + |
| 43 | +#### [`contenedores-v/`](./contenedores-v/) - Redes Docker |
| 44 | +- **contenedores-v.sh**: Comandos y ejemplos prácticos |
| 45 | +- **deberes-v.sh**: Ejercicios de networking |
| 46 | +- **Dockerfile**: Ejemplos para testing de redes |
| 47 | +- **01-load-balancer-host/**: Configuración de load balancer modo host |
| 48 | +- **02-load-balancer-user-define-networks/**: Load balancer con redes personalizadas |
| 49 | + |
| 50 | +#### [`contenedores-vi/`](./contenedores-vi/) - Orquestación |
| 51 | +- **contenedores-vi.sh**: Comandos Docker Compose y Swarm |
| 52 | +- **deberes-vi.sh**: Ejercicios de orquestación |
| 53 | +- **docker-compose.yml**: Ejemplos de aplicaciones multi-contenedor |
| 54 | +- **docker-compose-extension/**: Configuraciones avanzadas |
| 55 | +- **my-app/**: Aplicación de ejemplo completa |
| 56 | +- **stacks/**: Ejemplos de Docker Stacks para Swarm |
| 57 | + |
| 58 | +#### [`lemoncode-challenge/`](./lemoncode-challenge/) - 🏆 Laboratorio Final |
| 59 | +- **README.md**: Instrucciones del challenge |
| 60 | +- **dotnet-stack/**: Stack completo con backend .NET |
| 61 | +- **node-stack/**: Stack completo con backend Node.js |
| 62 | +- **images/**: Recursos del laboratorio |
| 63 | +- **Contenido**: Aplicación completa de 3 capas para dockerizar |
| 64 | + |
| 65 | +## 🚀 Cómo usar este contenido |
| 66 | + |
| 67 | +1. **Sigue el orden**: Los días están diseñados para construir conocimiento progresivamente |
| 68 | +2. **Practica**: Cada directorio incluye ejercicios hands-on |
| 69 | +3. **Experimenta**: Usa los scripts `.sh` para explorar comandos |
| 70 | +4. **Completa el challenge**: El laboratorio final integra todo lo aprendido |
| 71 | + |
| 72 | +## 📚 Agenda Detallada |
4 | 73 |
|
5 | 74 | ### Día I: Introducción a Docker |
6 | 75 |
|
|
222 | 291 | #### Chuleta de comandos |
223 | 292 | #### Ejercicios |
224 | 293 |
|
225 | | -### Laboratorio de Docker |
| 294 | +## 🎓 Laboratorio Final - Lemoncode Challenge |
| 295 | + |
| 296 | +El [`lemoncode-challenge/`](./lemoncode-challenge/) contiene un ejercicio integrador donde pondrás en práctica todo lo aprendido: |
| 297 | + |
| 298 | +### 🎯 Objetivo |
| 299 | +Dockerizar una aplicación completa de 3 capas: |
| 300 | +- **Frontend**: Aplicación web en Node.js |
| 301 | +- **Backend**: API REST (puedes elegir entre .NET o Node.js) |
| 302 | +- **Base de datos**: MongoDB para persistencia |
| 303 | + |
| 304 | +### 📋 Requisitos técnicos |
| 305 | +- Crear red personalizada `lemoncode-challenge` |
| 306 | +- Configurar comunicación entre servicios |
| 307 | +- Implementar persistencia con volúmenes |
| 308 | +- Exponer frontend en puerto 8080 |
| 309 | +- Poblar base de datos con estructura específica |
| 310 | + |
| 311 | +### 💼 Stacks disponibles |
| 312 | +- **`dotnet-stack/`**: Backend en .NET Core |
| 313 | +- **`node-stack/`**: Backend en Node.js |
| 314 | + |
| 315 | +## 🛠️ Herramientas y Comandos Principales |
| 316 | + |
| 317 | +### Scripts de práctica incluidos: |
| 318 | +- **`contenedores-v.sh`**: Comandos de networking |
| 319 | +- **`deberes-v.sh`**: Ejercicios de redes |
| 320 | +- **`contenedores-vi.sh`**: Docker Compose y Swarm |
| 321 | +- **`deberes-vi.sh`**: Ejercicios de orquestación |
| 322 | +- **`deberes-ii.sh`**: Ejercicios de imágenes |
| 323 | + |
| 324 | +### Tecnologías cubiertas: |
| 325 | +- **Docker Engine**: Gestión de contenedores |
| 326 | +- **Docker Images**: Creación y gestión de imágenes |
| 327 | +- **Docker Networks**: Comunicación entre contenedores |
| 328 | +- **Docker Volumes**: Persistencia de datos |
| 329 | +- **Docker Compose**: Aplicaciones multi-contenedor |
| 330 | +- **Docker Swarm**: Orquestación y clustering |
| 331 | +- **Docker Registry**: Distribución de imágenes |
| 332 | + |
| 333 | +## 📖 Recursos adicionales |
| 334 | + |
| 335 | +Cada directorio incluye: |
| 336 | +- 📝 **README.md**: Guías detalladas paso a paso |
| 337 | +- 🖼️ **imagenes/**: Diagramas y capturas explicativas |
| 338 | +- 🔧 **Scripts**: Comandos listos para ejecutar |
| 339 | +- 💡 **Ejemplos**: Aplicaciones reales para practicar |
| 340 | +- 📋 **Chuletas**: Resúmenes de comandos importantes |
| 341 | + |
| 342 | +¡Feliz aprendizaje con Docker! 🐳✨ |
0 commit comments