logoUC
📚Curso disponible

Docker y Docker Compose (Local con Docker Desktop)

Domina Docker en local con Docker Desktop: crea contenedores, construye imágenes, gestiona redes y volúmenes, y orquesta múltiples servicios con Docker Compose. Escribe Dockerfiles optimizados (cache, multi-stage, imágenes slim) y aprende troubleshooting efectivo (logs, healthchecks, puertos/DNS). Profundiza en Compose avanzado (dependencias, perfiles, overrides, variables y secretos). Cierra con seguridad y buenas prácticas para entornos locales y rendimiento en macOS/Windows/WSL2.

10
Módulos

Contenido del curso

Tema 1 - Fundamentos de contenedores y virtualización ligera

16 lecciones
1.1. ¿Qué es un contenedor?
1.2. Contenedores vs máquinas virtuales
1.3. Origen de Docker y evolución del ecosistema
1.4. Cgroups, namespaces y el kernel compartido
1.5. Imágenes vs contenedores: diferencia conceptual y práctica
1.6. El ciclo de vida de un contenedor
1.7. Ventajas de los contenedores en desarrollo local
1.8. Casos de uso típicos de Docker en equipos DevOps
1.9. Diferencias entre Docker Desktop, Engine y Server
1.10. Buenas prácticas para el uso local de contenedores
MANUAL I - Dominando Docker: Ciclo de Vida, Beneficios y Casos de Uso en Desarrollo y DevOps
MANUAL II - Dominando Docker: Contenedores, Buenas Prácticas y Ecosistema
MANUAL III - Dominando Docker: Contenedores, Imágenes y Conceptos de Bajo Nivel
Ejercicio 1
Ejercicio 2
Ejercicio 3

Tema 2 - Construcción de imágenes Docker con Dockerfile

16 lecciones
2.1. ¿Qué es una imagen Docker y cómo se construye?
2.2. Estructura básica de un Dockerfile
2.3. Capas y caché en la construcción de imágenes
2.4. Uso de imágenes base: Alpine, Debian, Ubuntu
2.5. Copiar archivos al contenedor: COPY vs ADD
2.6. Variables de entorno y argumentos de build
2.7. CMD vs ENTRYPOINT: diferencias y combinaciones
2.8. Reducción del tamaño de imágenes
2.9. Pruebas y validación de imágenes construidas
2.10. Ejemplo completo: construir imagen de una app Node.js o Python
MANUAL I - Construcción y Optimización de Imágenes Docker con Dockerfile
MANUAL II - Optimización y Personalización de Contenedores Docker
MANUAL III - Creación y Validación de Imágenes Docker para Aplicaciones Node.js y Python
Ejercicio 1
Ejercicio 2
Ejercicio 3

Tema 3 - Gestión de contenedores: ejecución, inspección y debugging

16 lecciones
3.1. Lanzar contenedores desde imágenes
3.2. Ver contenedores activos y detenidos
3.3. Acceso interactivo a contenedores en ejecución
3.4. Inspección detallada de contenedores
3.5. Visualización de logs de contenedor
3.6. Depuración de errores de red o puertos
3.7. Reinicio, detención y eliminación de contenedores
3.8. Volúmenes montados_ ver y acceder a los datos
3.9. Herramientas gráficas_ Docker Desktop, Portainer
3.10. Automatización y limpieza de contenedores inactivos
MANUAL I - Gestión Avanzada de Contenedores y Datos con Docker
MANUAL II - Dominando Docker: Interacción, Inspección y Gestión de Contenedores
MANUAL III - Gestión Avanzada y Depuración de Contenedores Docker
Ejercicio 1
Ejercicio 2
Ejercicio 3

Tema 4 - Redes Docker: comunicación entre contenedores y servicios

16 lecciones
4.1. ¿Cómo funciona la red en Docker?
4.2. Tipos de redes disponibles (bridge, host, none)
4.3. Creación de redes personalizadas con docker network create
4.4. Conexión de contenedores a redes existentes
4.5. Comunicación entre contenedores por nombre de servicio
4.6. Exposición de puertos al host local
4.7. Resolución de DNS y aislamiento
4.8. Inspección y debugging de redes
4.9. Desconexión y reconexión dinámica de redes
4.10. Casos comunes: API + DB + front en red aislada
MANUAL I - Gestión Avanzada de Redes y Comunicación en Docker
MANUAL II - Gestión Avanzada de Redes y Comunicación en Docker
MANUAL III - Gestión Avanzada de Redes y Conectividad en Docker
Ejercicio 1
Ejercicio 2
Ejercicio 3

Tema 5 - Volúmenes y persistencia: trabajar con datos dentro y fuera del contenedor

16 lecciones
5.1. ¿Qué es un volumen en Docker?
5.2. Diferencia entre volumes y bind mounts
5.3. Crear y listar volúmenes
5.4. Montaje de volúmenes en contenedores
5.5. Persistencia entre reinicios y recreaciones
5.6. Uso de volúmenes en bases de datos (MySQL, Postgres)
5.7. Inspección del contenido de un volumen
5.8. Compartición de volúmenes entre múltiples contenedores
5.9. Limpieza, backup y restauración de volúmenes
5.10. Buenas prácticas para gestión de datos persistentes
MANUAL I - Gestión Avanzada de Datos Persistentes con Docker y Docker Compose
MANUAL II - Gestión y Persistencia de Volúmenes en Docker
MANUAL III - Gestión Avanzada de Volúmenes en Docker y Docker Compose
Ejercicio 1
Ejercicio 2
Ejercicio 3

Tema 6 - Docker Compose: definición de múltiples servicios y orquestación local

16 lecciones
6.1. ¿Qué es Docker Compose y para qué sirve?
6.2. Estructura básica de un docker-compose.yml
6.3. Definición de varios contenedores: app + base de datos
6.4. Variables de entorno y .env en Compose
6.5. Volúmenes y persistencia en Compose
6.6. Dependencias y orden de arranque con depends_on
6.7. Redes definidas por usuario en Compose
6.8. Comandos clave: up, down, ps, logs, exec
6.9. Construcción automática desde Dockerfile
6.10. Separación de entornos: override.yml y múltiples archivos
MANUAL I - Gestión Avanzada de Docker Compose: Construcción, Variables de Entorno y Separación de Entornos
MANUAL II - Gestión Avanzada de Docker Compose: Redes, Volúmenes y Dependencias
MANUAL III - Dominando Docker y Docker Compose: Gestión de Contenedores y Servicios
Ejercicio 1
Ejercicio 2
Ejercicio 3

Tema 7 - Buenas prácticas con Docker Compose en entornos de desarrollo

16 lecciones
7.1. Separación de entornos_ dev, test, prod
7.2. Uso de volúmenes para desarrollo en caliente
7.3. Manejo seguro de variables sensibles
7.4. Logs y observabilidad básica del stack
7.5. Healthchecks personalizados por servicio
7.6. Control de recursos_ mem_limit, cpus, ulimits
7.7. Naming y limpieza de recursos
7.8. Scripts auxiliares y Makefiles
7.9. Aislamiento de entornos entre proyectos
7.10. Documentación mínima del stack
MANUAL I - Gestión de Recursos y Seguridad en Docker y Docker Compose
MANUAL II - Dominando Docker: Desarrollo, Aislamiento y Healthchecks
MANUAL III - Gestión Avanzada de Docker: Proyectos, Logs y Entornos
Ejercicio 1
Ejercicio 2
Ejercicio 3

Tema 8 - Optimización y troubleshooting de imágenes y contenedores

16 lecciones
8.1. Análisis del tamaño de imagen y capas
8.2. Diagnóstico de builds lentos
8.3. Uso de multistage builds
8.4. Detección y limpieza de imágenes huérfanas
8.5. Debugging con docker logs, inspect y exec
8.6. Problemas de permisos en volúmenes montados
8.7. Gestión de recursos: RAM, CPU, disco
8.8. Evitar uso de latest en imágenes base
8.9. Troubleshooting de redes: conexión entre contenedores
8.10. Herramientas externas de análisis y escaneo
MANUAL I - Optimización y Diagnóstico de Builds en Docker y Docker Compose
MANUAL II - Gestión y Diagnóstico de Recursos en Contenedores Docker
MANUAL III - Análisis y Solución de Problemas en Docker y Redes
Ejercicio 1
Ejercicio 2
Ejercicio 3

Tema 9 - Seguridad básica en entornos Docker locales

16 lecciones
9.1. Principales riesgos de seguridad en entornos Docker
9.2. Evitar ejecución como usuario root dentro del contenedor
9.3. Uso de imágenes oficiales y verificadas
9.4. Escaneo de vulnerabilidades en imágenes
9.5. Minimizar superficie de ataque
9.6. Protección de volúmenes montados
9.7. Aislamiento de red entre servicios
9.8. Escaneo y control de dependencias del proyecto
9.9. Eliminación de credenciales embebidas en imágenes
9.10. Actualización y rotación de imágenes y secretos
MANUAL I - Seguridad en Docker: Protección de Volúmenes, Aislamiento de Red y Análisis de Vulnerabilidades
MANUAL II - Seguridad Avanzada en Docker: Prácticas y Ejercicios
MANUAL III - Seguridad Avanzada en Docker: Imágenes, Redes y Aislamiento
Ejercicio 1
Ejercicio 2
Ejercicio 3

Tema 10 - Proyecto integrador: entorno local completo con múltiples servicios, Compose y buenas prácticas

16 lecciones
10.1. Definición del stack_ frontend + backend + BBDD + herramientas
10.2. Estructura de carpetas del proyecto multi-servicio
10.3. Creación de Dockerfiles personalizados por servicio
10.4. Archivo docker-compose.yml centralizado
10.5. Variables de entorno, .env y configuración segura
10.6. Conexión entre servicios y testing del flujo completo
10.7. Logs centralizados y healthchecks
10.8. Hot reload en desarrollo y volúmenes bind
10.9. Script de arranque y destrucción del entorno
10.10. Documentación del entorno para onboarding de equipos
MANUAL I - Optimización y Gestión de Proyectos Docker para Desarrollo y Producción
MANUAL II - Gestión de Proyectos Multi-Servicio con Docker y Docker Compose
MANUAL III - Gestión y Pruebas en Docker y Docker Compose
Ejercicio 1
Ejercicio 2
Ejercicio 3

¿Listo para empezar?

Aprende a desarrollar desde 0 con IA integrada. Practica, resuelve retos reales, con correcciones inmediatas y completamente tutorizado.