HACK A BOSS
FormaciónEvaluacionesPerfil
Volver
  • En directo

Docker: Imágenes, registros y distribución

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • Docker

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso está dirigido a profesionales que ya saben ejecutar contenedores a partir de imágenes existentes y quieren dar el salto a contenerizar sus propias aplicaciones y distribuirlas a través de registros Docker. En equipos de desarrollo y operaciones, no basta con usar Docker localmente: hay que construir imágenes reproducibles, optimizarlas para reducir tiempos de build y tamaño, publicarlas en un registro centralizado y desplegarlas en entornos remotos de forma predecible. El curso cubre la escritura de Dockerfiles profesionales con gestión de caché de capas y señales del sistema, el flujo iterativo de build-run-validate-update, el etiquetado semántico de imágenes, la publicación y recuperación desde registros Docker y la validación de portabilidad entre entornos. Al finalizar, el participante será capaz de llevar una aplicación desde el código fuente hasta un entorno de producción usando Docker como herramienta de distribución, con imágenes versionadas, reproducibles y correctamente organizadas en un registro.

Al finalizar el curso, el participante será capaz de:

  • Contenerizar una aplicación existente creando una imagen funcional y reproducible
  • Desplegar una API o UI sencilla en contenedor verificando el acceso por puerto
  • Ajustar el Dockerfile para necesidades habituales: dependencias y comando de arranque
  • Aplicar criterios básicos de buenas prácticas: imagen base adecuada y comandos claros
  • Operar el flujo completo con Docker: construir, ejecutar, validar y actualizar
  • Etiquetar imágenes para versionado y distribución con docker tag
  • Aplicar criterios básicos de gestión de versiones y organización de imágenes en un registro
  • Publicar imágenes en un registro Docker con docker push y recuperarlas con docker pull
  • Validar que una imagen publicada es ejecutable en otro entorno
  • Desplegar una aplicación desde un registro aplicando el flujo completo de distribución
  1. Contenerización de aplicaciones reales Análisis de dependencias y requisitos de entorno de una aplicación existente; Dockerfile para imagen funcional y reproducible; fijación de versiones en imagen base y dependencias; mapeo de puertos y verificación del acceso desde el host; diagnóstico de errores de binding (0.0.0.0 vs 127.0.0.1); uso de curl y docker logs para confirmar el servicio

  2. Dockerfile profesional: caché, señales y selección de imagen base Separación de capas para aprovechar el sistema de caché de Docker Build: copiar fichero de dependencias antes del código fuente; exec form vs shell form en CMD y su impacto en la propagación de señales (SIGTERM) y el apagado limpio del contenedor; variantes de imagen base (slim, alpine, completa): comparativa de tamaño, compatibilidad con glibc/musl y superficie de ataque; combinación de comandos en un solo RUN para evitar capas con ficheros temporales

  3. Ciclo de desarrollo iterativo Flujo build → run → validate → update: reconstrucción eficiente de imágenes aprovechando el caché de capas; reemplazo del contenedor en ejecución con mínimo downtime; verificación de que el nuevo contenedor sirve la versión actualizada; identificación del impacto del orden de instrucciones en el tiempo de rebuild

  4. Etiquetado y gestión de versiones en el registro Funcionamiento de docker tag como alias sobre capas compartidas; convención semver aplicada a tags de imagen: versión exacta, versión menor, versión mayor y latest; ciclo de vida de los tags: cuándo actualizarlos y qué conservar; estrategia de tags diferenciada por entorno (desarrollo, staging, producción); limpieza de imágenes de CI y versiones obsoletas: criterios y herramientas

  5. Publicación y validación en registros Autenticación con docker login en Docker Hub y registros privados; naming correcto de imágenes para el registro de destino; docker push: subida de capas y lectura del digest SHA256 en la salida; docker pull: comparación de digest local y remoto, descarga diferencial de capas; validación de portabilidad: arquitectura (arm64 vs amd64), variables de entorno necesarias y proceso sistemático de diagnóstico con docker inspect, docker logs y health checks

  6. Flujo completo de distribución (entregable integrador) Pipeline completo build → tag → push → pull → run aplicado a un entorno de producción; opciones de docker run para producción: variables de entorno, política de reinicio unless-stopped, nombre de contenedor; validación post-despliegue; procedimiento de rollback a una versión anterior a partir de un tag semántico conservado en el registro

  • Docker Desktop 4.x (Windows/macOS) o Docker Engine 24.x o superior (Linux)
  • Cuenta en Docker Hub gratuita para los ejercicios de push, pull y registro
  • Terminal: bash, zsh o PowerShell con acceso a docker CLI
  • Editor de código con soporte para Dockerfile (VS Code con extensión Docker recomendado)
  • Git instalado (para gestionar el contexto de build en los ejercicios)
  • Acceso a internet para pull de imágenes base y push al registro

→ DCK01 — Linux y Docker: Fundamentos para entornos containerizados (Iniciación, 8h)

  • Explicar qué es una imagen y qué es un contenedor, y cómo se relacionan
  • Ejecutar contenedores en foreground y detached, exponiendo puertos cuando corresponda
  • Operar el ciclo de vida básico de un contenedor: listar, inspeccionar, parar, borrar y limpiar
  • Utilizar las opciones clave de docker run: nombre, variables de entorno, políticas de reinicio y limpieza automática
  • Escribir un Dockerfile básico y construir una imagen propia con docker build
  • Verificar que una aplicación sencilla funciona correctamente dentro del contenedor