Cloud & DevOps

Docker & Kubernetes

Intermediate 10 modules • 30 hours •69 € VAT included

Curso orientado a entender contenedores y orquestación desde una perspectiva operativa. El alumno aprende a construir imágenes con Docker, ejecutar servicios con persistencia y red local, y desplegar aplicaciones en Kubernetes con conceptos como pods, deployments, services, ingress, configuración, observabilidad y seguridad.

Docker y Kubernetes suelen estudiarse juntos, pero resuelven problemas diferentes. Docker se centra en empaquetar y ejecutar aplicaciones en contenedores; Kubernetes coordina contenedores a escala, gestiona estado deseado, exposición, configuración, tolerancia a fallo y despliegues controlados. El curso une ambas capas para que el alumno entienda el recorrido completo desde `Dockerfile` hasta pipeline y clúster.

The first module is free. Request information about full-course access.

Please note: the course material (modules, exam, glossary and labs) is written in Spanish. Only the site interface is available in English. A good reading level of Spanish is required.

On sale soon. The first module is free: sign up and start.

hola@itlabcert.com
Request received. We will reply to your email within 48 working hours. No need to send it again.
hola@itlabcert.com

Modulo 01. Introduccion a contenedores y Docker

Objetivo del modulo

Comprender que resuelve la contenedorizacion y como Docker separa imagen, contenedor y runtime para ofrecer portabilidad, reproducibilidad y aislamiento.

Resultados esperados

  • Distinguir imagen de contenedor.
  • Explicar por que un contenedor no es una maquina virtual pequena.
  • Entender el ciclo basico de build, pull, run y stop.
  • Ejecutar un contenedor basico desde linea de comandos.

Desarrollo teorico

Los contenedores encapsulan aplicacion y dependencias en una unidad portable y repetible. A diferencia de una VM, no replican un sistema operativo completo sino que comparten kernel del host y aislan procesos, red y sistema de archivos mediante mecanismos del sistema operativo (namespaces y cgroups en Linux). Docker popularizo este modelo simplificando build, distribucion y ejecucion de contenedores hasta hacerlos accesibles a cualquier equipo de desarrollo u operaciones.

Contenedor vs. VM. Una maquina virtual incluye un sistema operativo completo sobre un hypervisor. Un contenedor comparte el kernel del host y solo contiene la aplicacion y sus dependencias. Esto tiene consecuencias practicas directas:

Aspecto VM Contenedor
Arranque Minutos Segundos o milisegundos
Tamano tipico GBs (SO completo) MBs a cientos de MBs
Aislamiento Hardware virtual (fuerte) Kernel compartido (mas ligero)
Portabilidad Limitada por hypervisor Alta (imagen estandar OCI)
Densidad Decenas por host Cientos por host

Esto no significa que los contenedores sean "mejores" que las VMs. Son herramientas diferentes. Las VMs ofrecen aislamiento mas fuerte (kernel propio) y son adecuadas cuando se necesitan sistemas operativos distintos o aislamiento estricto. Los contenedores son ideales para aplicaciones microservicio, pipelines de CI/CD y despliegues rapidos con alta densidad.

Imagen, contenedor y runtime. Estos tres conceptos son la base de Docker y fuente de confusion frecuente:

  • Imagen: Plantilla inmutable compuesta por capas. Contiene SO base, dependencias, codigo de la aplicacion y configuracion. Se construye con un Dockerfile y se almacena en un registro.
  • Contenedor: Instancia en ejecucion de una imagen. Tiene estado de proceso, red asignada y sistema de archivos efimero. Si se elimina el contenedor, los datos no persistidos se pierden.
  • Runtime: Capa que crea y gestiona contenedores. Docker Engine es el runtime mas conocido, pero existen otros como containerd, CRI-O o Podman.

Si confundes imagen y contenedor, aparecen errores frecuentes: creer que modificar un contenedor cambia automaticamente la imagen, asumir que el estado vive dentro del contenedor para siempre o pensar que reiniciar un contenedor equivale a "reiniciar un servidor". El proceso principal del contenedor (PID 1) define su vida: si termina, el contenedor termina.

El ciclo basico de Docker. Los comandos fundamentales son:

# Descargar una imagen desde un registro
docker pull nginx:1.25-alpine

# Ejecutar un contenedor desde la imagen
docker run -d --name web -p 8080:80 nginx:1.25-alpine

# Verificar contenedores en ejecucion
docker ps

# Ver logs del contenedor
docker logs web

# Detener el contenedor
docker stop web

# Eliminar el contenedor
docker rm web

# Listar imagenes locales
docker images

Desglose de docker run -d --name web -p 8080:80 nginx:1.25-alpine:

  • -d: Ejecutar en segundo plano (detached).
  • --name web: Asignar nombre al contenedor.
  • -p 8080:80: Mapear puerto 8080 del host al puerto 80 del contenedor.
  • nginx:1.25-alpine: Imagen y tag a usar.

Persistencia y volumenes. Por defecto, los datos dentro de un contenedor son efimeros. Si el contenedor se elimina, los datos desaparecen. Para datos que deben persistir (bases de datos, uploads, configuraciones), Docker ofrece volumenes:

# Crear un volumen
docker volume create datos-app

# Ejecutar contenedor con volumen montado
docker run -d --name db -v datos-app:/var/lib/postgresql/data postgres:16-alpine

El volumen datos-app sobrevive al contenedor: si eliminas y recreas db, los datos siguen ahi.

Redes. Docker crea redes virtuales para conectar contenedores. Por defecto existe la red bridge. Para que dos contenedores se comuniquen por nombre, se crea una red personalizada:

docker network create mi-red
docker run -d --name api --network mi-red node-api:1.0
docker run -d --name db --network mi-red postgres:16-alpine
# Desde el contenedor 'api', se puede resolver 'db' como hostname

Registros. Las imagenes se almacenan en registros: Docker Hub (publico por defecto), GitHub Container Registry (ghcr.io), Amazon ECR, Azure ACR, Google Artifact Registry. En entornos corporativos se usan registros privados para controlar que imagenes se despliegan.

Por que Docker importa para operaciones y plataforma. Docker resuelve el clasico problema de "en mi maquina funciona". Al encapsular aplicacion y dependencias en una imagen, el entorno de ejecucion es identico en desarrollo, CI, staging y produccion. Esto reduce drasticamente los bugs de entorno y simplifica el despliegue. Ademas, las imagenes son la base de Kubernetes, que orquesta contenedores a escala.

Contenido ampliado

Concepto Definicion Ejemplo practico
Imagen Plantilla inmutable con aplicacion y dependencias nginx:1.25-alpine
Contenedor Instancia en ejecucion de una imagen docker run nginx
Runtime Capa que crea y gestiona contenedores Docker Engine, containerd, Podman
Registro Repositorio para publicar y descargar imagenes Docker Hub, ECR, ACR
Volumen Almacenamiento persistente fuera del contenedor docker volume create datos
Red Conectividad entre contenedores docker network create mi-red

Puntos clave

  • Contenedor no es sinonimo de VM; comparten kernel y aislan por namespaces.
  • La imagen se construye (build); el contenedor se ejecuta (run).
  • El proceso principal (PID 1) gobierna el ciclo de vida del contenedor.
  • Los datos efimeros desaparecen al eliminar el contenedor; los volumenes persisten.
  • Las imagenes son la base de Docker, Kubernetes y los pipelines de CI/CD modernos.
  • Docker resuelve problemas de paridad de entorno entre desarrollo y produccion.

Checklist operativa

  • Identificar que parte es build (imagen) y cual es runtime (contenedor).
  • Confirmar que datos deben persistir fuera del contenedor mediante volumenes.
  • Entender como se distribuye la imagen entre entornos via registros.
  • Verificar que el proceso principal es el adecuado para el servicio.
  • Usar tags especificos, no latest, para reproducibilidad.
  • Configurar redes para comunicacion entre contenedores.

Errores frecuentes

  • Guardar estado importante dentro del contenedor sin volumen.
  • Depender de cambios manuales sobre contenedores corriendo en vez de reconstruir la imagen.
  • No entender que proceso mantiene vivo el contenedor.
  • Confundir contenedor con VM y esperar comportamiento identico.
  • Usar latest como tag y perder reproducibilidad.
  • No limpiar imagenes y contenedores antiguos y llenar el disco.

Practica sugerida

Ejecuta los siguientes pasos en tu entorno: (1) descarga la imagen nginx:1.25-alpine, (2) lanza un contenedor mapeando el puerto 8080, (3) accede desde el navegador, (4) inspecciona los logs, (5) detente y elimina el contenedor, (6) verifica que la imagen sigue disponible localmente. Bonus: lanza un segundo contenedor con un volumen montado y verifica que los datos persisten tras eliminar y recrear el contenedor.

Preguntas de autoevaluacion

  • Que diferencia fundamental hay entre imagen y contenedor.
  • Por que un contenedor no se comporta igual que una VM y que implicaciones tiene.
  • Que ocurre si el proceso principal (PID 1) del contenedor termina.
  • Cuando necesitas un volumen y que pasa si no lo usas.
  • Por que Docker facilita la paridad entre desarrollo y produccion.

Cierre

Entender bien imagen, contenedor y runtime es el fundamento sobre el que se construye todo lo demas: Dockerfiles, Docker Compose, Kubernetes y los pipelines modernos de entrega de software.

Aprender a construir imagenes reproducibles, pequenas y trazables mediante Dockerfiles bien disenados y a gestionarlas en registros de contenedores.

What you will learn

  • Redactar un Dockerfile basico con buen orden de capas.
  • Entender cache de build y multi-stage builds.
  • Versionar y publicar imagenes en un registro.
  • Aplicar buenas practicas de seguridad y tamano en la construccion de imagenes.

Module contents

  1. Desarrollo teorico
  2. Contenido ampliado
  3. Puntos clave
  4. Checklist operativa
  5. Errores frecuentes
  6. Practica sugerida
  7. Preguntas de autoevaluacion
  8. Cierre

Purchase the course to access this module in full.

Modelar entornos locales con varios servicios y persistencia sin recurrir a configuraciones manuales frágiles.

What you will learn

  • Entender redes bridge, puertos publicados y resolución por nombre.
  • Usar volúmenes para persistir datos.
  • Organizar varios servicios con Compose o enfoque similar.

Module contents

  1. Desarrollo teorico
  2. Contenido ampliado
  3. Puntos clave
  4. Checklist operativa
  5. Errores frecuentes
  6. Practica sugerida
  7. Preguntas de autoevaluacion
  8. Cierre

Purchase the course to access this module in full.

Comprender qué problema resuelve Kubernetes y cómo se estructura un clúster de forma básica.

What you will learn

  • Explicar control plane, worker nodes y kubelet.
  • Entender el concepto de estado deseado.
  • Relacionar Kubernetes con despliegues distribuidos y resiliencia.

Module contents

  1. Desarrollo teorico
  2. Contenido ampliado
  3. Puntos clave
  4. Checklist operativa
  5. Errores frecuentes
  6. Practica sugerida
  7. Preguntas de autoevaluacion
  8. Cierre

Purchase the course to access this module in full.

Aprender los recursos básicos que permiten ejecutar y exponer aplicaciones en Kubernetes.

What you will learn

  • Explicar qué es un Pod y por qué suele ser la unidad mínima de despliegue.
  • Entender el papel de Deployment para réplicas y actualizaciones.
  • Diferenciar tipos básicos de Service.

Module contents

  1. Desarrollo teorico
  2. Contenido ampliado
  3. Puntos clave
  4. Checklist operativa
  5. Errores frecuentes
  6. Practica sugerida
  7. Preguntas de autoevaluacion
  8. Cierre

Purchase the course to access this module in full.

Separar configuración, credenciales y datos persistentes del ciclo de vida del contenedor.

What you will learn

  • Distinguir ConfigMap de Secret.
  • Entender PersistentVolume y PersistentVolumeClaim a nivel base.
  • Evitar malas prácticas de configuración embebida.

Module contents

  1. Desarrollo teorico
  2. Contenido ampliado
  3. Puntos clave
  4. Checklist operativa
  5. Errores frecuentes
  6. Practica sugerida
  7. Preguntas de autoevaluacion
  8. Cierre

Purchase the course to access this module in full.

Entender cómo se publica tráfico hacia aplicaciones Kubernetes y cómo se organiza el acceso HTTP/HTTPS.

What you will learn

  • Explicar la diferencia entre Service e Ingress.
  • Entender el papel de un Ingress Controller.
  • Relacionar exposición externa con routing y seguridad.

Module contents

  1. Desarrollo teorico
  2. Contenido ampliado
  3. Puntos clave
  4. Checklist operativa
  5. Errores frecuentes
  6. Practica sugerida
  7. Preguntas de autoevaluacion
  8. Cierre

Purchase the course to access this module in full.

Disponer de una base para observar y diagnosticar fallos en contenedores y clústeres.

What you will learn

  • Entender fuentes básicas de logs y eventos.
  • Diagnosticar fallos comunes de imagen, configuración o scheduling.
  • Relacionar observabilidad con operación estable.

Module contents

  1. Desarrollo teorico
  2. Contenido ampliado
  3. Puntos clave
  4. Checklist operativa
  5. Errores frecuentes
  6. Practica sugerida
  7. Preguntas de autoevaluacion
  8. Cierre

Purchase the course to access this module in full.

Reducir riesgos en imagen, runtime y clúster con principios de endurecimiento razonables.

What you will learn

  • Aplicar buenas prácticas de imagen y runtime.
  • Entender conceptos básicos de RBAC, políticas y escaneo.
  • Evitar errores comunes de seguridad en contenedores.

Module contents

  1. Desarrollo teorico
  2. Contenido ampliado
  3. Puntos clave
  4. Checklist operativa
  5. Errores frecuentes
  6. Practica sugerida
  7. Preguntas de autoevaluacion
  8. Cierre

Purchase the course to access this module in full.

Entender cómo encajan build, test, scan, publicación y despliegue en un flujo CI/CD basado en contenedores.

What you will learn

  • Relacionar pipeline con calidad y trazabilidad de artefactos.
  • Diseñar una secuencia básica de build, scan y deploy.
  • Entender la diferencia entre imagen construida y versión desplegada.

Module contents

  1. Desarrollo teorico
  2. Contenido ampliado
  3. Puntos clave
  4. Checklist operativa
  5. Errores frecuentes
  6. Practica sugerida
  7. Preguntas de autoevaluacion
  8. Cierre

Purchase the course to access this module in full.

The first module is free. Purchase the course to access the remaining 9 modules, exam and certificate.

Create free account

Learning outcomes

  • Construir imágenes eficientes y seguras con Docker.
  • Ejecutar servicios con redes, volúmenes y composición local reproducible.
  • Explicar la arquitectura base de Kubernetes y el papel de sus recursos principales.
  • Desplegar, configurar, exponer y observar aplicaciones contenedorizadas.
  • Aplicar principios básicos de seguridad y pipeline para contenedores.

Target audience

- Desarrolladores y DevOps que empiezan con contenedores. - Administradores que necesitan entender despliegues modernos. - Equipos de plataforma que quieren una base seria antes de profundizar.

Prerequisites

Ayuda conocer Linux básico, redes, procesos, ficheros de configuración y conceptos de despliegue de aplicaciones. No es imprescindible experiencia previa con contenedores.

Exam available

This course includes a 18-question exam. The exam and certificate are included with full access.

Create free account