Categorías

Cómo montar un registro Docker privado y autoalojado

Un registro Docker privado es el servidor que guarda y sirve tus propias imágenes de contenedor en vez de Docker Hub. En este laboratorio levantas la imagen oficial registry:3, etiquetas y subes una imagen alpine, la recuperas tras borrarla en local y la proteges con htpasswd y TLS.

  • 7 pasos
  • 7

Multi-stage builds en Docker: imágenes más pequeñas y seguras

Un multi-stage build en Docker encadena varias etapas FROM en un mismo Dockerfile: una compila con el compilador completo y la etapa final, mínima (Alpine, scratch o distroless), solo copia el binario resultante con COPY --from=build. La imagen de producción queda mucho más pequeña y con menor superficie de ataque.

  • 10 pasos
  • 6

Healthchecks y políticas de reinicio en Docker (en la práctica, con docker run y Compose)

Un HEALTHCHECK le dice a Docker cómo comprobar si un contenedor funciona de verdad, no solo si sigue en marcha; docker inspect y docker ps muestran ese estado como healthy o unhealthy. Las políticas de reinicio deciden qué pasa si el proceso falla: no, on-failure, always o unless-stopped, y Compose puede esperar a un servicio healthy antes de arrancar otro.

  • 7 pasos
  • 6

Gestión de secretos en Docker (sin dejarlos en la imagen)

La gestión de secretos en Docker significa nunca dejar tokens ni contraseñas en ARG, ENV o COPY del Dockerfile, porque quedan grabados en la imagen para siempre. Este lab demuestra la fuga real con docker history y la corrige con BuildKit --secret, un archivo de solo lectura, un env-file acotado y los secrets nativos de Compose.

  • 9 pasos
  • 6

Proxy inverso con Traefik y Docker (enrutado real por Host)

Traefik con Docker es un proxy inverso que lee el socket de Docker y convierte las etiquetas de cada contenedor en reglas de enrutado automáticas. En este laboratorio lo levantas junto a dos backends y compruebas con curl que cada nombre de host llega al contenedor correcto, sin tocar ningún fichero de rutas.

  • 8 pasos
  • 2

Pi-hole en Docker: sinkhole DNS para bloquear anuncios en toda la red

Pi-hole es un resolvedor DNS que actúa como sinkhole: filtra las consultas de toda tu red antes de que lleguen a Internet y bloquea los dominios de publicidad y rastreo de sus listas, respondiendo 0.0.0.0 en vez de reenviarlas. En este lab lo levantas en Docker y lo compruebas en vivo con dig.

  • 8 pasos
  • 5

Copia de seguridad y restauración de volúmenes en Docker

Un volumen Docker guarda datos fuera del contenedor, en una ubicación que gestiona el propio Docker. Para respaldarlo, un contenedor alpine desechable monta el volumen y una carpeta del host, y empaqueta los datos con tar en un .tar.gz. Restaurar es el proceso inverso: extraer ese archivo dentro de un volumen nuevo y comprobar que los datos vuelven intactos.

  • 7 pasos
  • 3

Cómo montar una app multi-contenedor con Docker Compose

Docker Compose es la herramienta que describe una aplicación multi-contenedor en un único archivo YAML: qué servicios levantar, cómo se conectan en red y qué datos persisten en volúmenes con nombre. En este lab defines un servicio web con Nginx y una caché con Redis, los conectas por nombre de servicio y compruebas todo con curl.

  • 6 pasos
  • 5

Cómo persisten los datos en Docker con volúmenes y bind mounts

Un contenedor es efímero, pero sus datos no tienen por qué serlo. Un volumen de Docker vive fuera del contenedor, gestionado por Docker, mientras que un bind mount usa directamente una ruta del host. En este laboratorio creamos un volumen con nombre, escribimos datos desde un contenedor, lo eliminamos por completo y leemos esos mismos datos desde uno nuevo.

  • 9 pasos
  • 2

Cómo funcionan las redes en Docker (bridge y personalizadas)

Docker conecta los contenedores a una red bridge por defecto, pero esa red no resuelve nombres: solo funciona por IP. Al crear una red personalizada con docker network create, Docker activa un DNS interno y cada contenedor puede localizar a los demás por su nombre, quedando aislado del resto de redes.

  • 11 pasos
  • 6