Ponte en Contacto
 Duración 14 horas

Temario del curso

Introducción

  • Introducción a los conceptos y flujos de trabajo avanzados de Docker
  • Repaso de los principios y casos de uso de la contenedorización
  • Terminología de Docker y componentes principales
  • Resumen de los objetivos del curso y del entorno práctico

Visión general de las características y arquitectura de Docker

  • Motor de Docker (Docker Engine) y sus componentes
  • Cliente de Docker, demonio, imágenes, contenedores y registros
  • Arquitectura de Docker y ciclo de vida de los contenedores
  • Docker Hub y registros privados
  • Fundamentos de la CLI de Docker para usuarios avanzados
  • Gestión de recursos y configuraciones de Docker

Configuración de Docker

  • Instalación de la Edición Comunitaria de Docker (Community Edition)
  • Configuración del entorno de Docker
  • Verificación de la instalación de Docker
  • Configuración de Docker para desarrollo y pruebas
  • Gestión de la configuración y el almacenamiento de Docker
  • Introducción al diagnóstico de problemas en el entorno de Docker

Creación de sus propias imágenes de Docker

  • Comprensión de las imágenes y capas de Docker
  • Escritura de Dockerfiles efectivos
  • Instrucciones de Dockerfile y mejores prácticas
  • Gestión del contexto de compilación (build context)
  • Compilación y etiquetado de imágenes
  • Uso de .dockerignore
  • Optimización del tamaño de la imagen y del rendimiento de compilación
  • Gestión de versiones y etiquetas de imágenes
  • Compilaciones multi-estadio (multi-stage) de Docker
  • Publicación de imágenes en un registro de contenedores

Ejecución de aplicaciones Docker multi-contenedor con Docker Compose

  • Introducción a Docker Compose
  • Definición de servicios con archivos de Compose
  • Configuración de redes y volúmenes
  • Gestión de variables de entorno
  • Dependencias de servicios y orden de inicio
  • Ejecución y escalado de múltiples servicios
  • Compilación de imágenes de aplicaciones con Compose
  • Gestión de la configuración de la aplicación
  • Depuración de aplicaciones multi-contenedor
  • Mejores prácticas de Compose

Los desafíos de desplegar muchas aplicaciones Docker

  • Gestión de contenedores en múltiples hosts
  • Escala y disponibilidad de aplicaciones
  • Descubrimiento de servicios (service discovery)
  • Balanceo de carga
  • Gestión de configuración y secretos
  • Desafíos del almacenamiento persistente
  • Monitoreo y registros a gran escala
  • Actualizaciones progresivas (rolling updates) y despliegue de aplicaciones
  • Recuperación ante fallos de contenedores y hosts

Cómo la orquestación de contenedores le ayuda a mantener el control

  • Introducción a la orquestación de contenedores
  • Beneficios y limitaciones de la orquestación
  • Comparación entre Docker Swarm, Kubernetes y otras soluciones
  • Programación (scheduling) y gestión de cargas de trabajo
  • Descubrimiento de servicios y redes
  • Escalado y auto-saneamiento (self-healing) de aplicaciones
  • Despliegues progresivos y reversión (rollbacks)
  • Gestión de recursos y aislamiento de cargas de trabajo
  • Selección de una plataforma de orquestación adecuada

Kubernetes en acción

  • Arquitectura de Kubernetes y componentes principales
  • Pods, nodos y clústeres
  • Deployments y ReplicaSets
  • Servicios y descubrimiento de servicios
  • ConfigMaps y Secrets
  • Namespaces y organización de recursos
  • Escalado de aplicaciones
  • Actualizaciones progresivas y reversión
  • Fundamentos de redes en Kubernetes
  • Almacenamiento persistente
  • Verificaciones de salud y resiliencia de aplicaciones
  • Despliegue de aplicaciones Docker en Kubernetes
  • Diagnóstico de problemas en cargas de trabajo de Kubernetes

Redes avanzadas en Docker

  • Arquitectura de redes en Docker
  • Controladores de red: bridge, host, overlay y otros
  • Comunicación entre contenedores
  • Comunicación entre contenedores y sistemas externos
  • Redes personalizadas de Docker
  • Aislamiento de red
  • Descubrimiento de servicios
  • Publicación y exposición de puertos
  • Redes en entornos multi-host
  • Diagnóstico de problemas de red en Docker

Seguridad en Docker

  • Fundamentos de seguridad en Docker
  • Aislamiento de contenedores y límites de seguridad
  • Ejecución de contenedores con privilegios adecuados
  • Gestión de usuarios y permisos dentro de los contenedores
  • Capacidades de Linux (capabilities) y controles de seguridad
  • Protección de imágenes de Docker
  • Escaneo de vulnerabilidades en imágenes
  • Gestión segura de secretos
  • Seguridad de los registros de Docker
  • Seguridad y aislamiento de red
  • Seguridad del demonio de Docker
  • Mejores prácticas de seguridad de contenedores

Configuración de un flujo de trabajo de integración continua para aplicaciones Docker

  • Introducción a la integración continua (CI) para aplicaciones contenedorizadas
  • Compilación automática de imágenes de Docker
  • Pruebas automatizadas de imágenes y contenedores de Docker
  • Etiquetado de imágenes y gestión de versiones
  • Integración del control de versiones (source control) con compilaciones de Docker
  • Escaneo automatizado de vulnerabilidades en imágenes
  • Publicación de imágenes en registros
  • Gestión de artefactos de compilación
  • Implementación de controles de calidad automatizados
  • Diseño de un pipeline de CI para Docker reproducible

Integración de aplicaciones Docker en un flujo de trabajo existente

  • Integración de Docker con flujos de desarrollo existentes
  • Contenedorización de aplicaciones existentes
  • Integración de Docker con plataformas CI/CD
  • Gestión de entornos de desarrollo, pruebas, staging y producción
  • Estrategias de despliegue automatizado
  • Gestión de configuración entre entornos
  • Integración con registros
  • Aprobaciones de despliegue y gestión de lanzamientos
  • Monitoreo de despliegues de aplicaciones
  • Mantenimiento de la consistencia entre entornos

Mejores prácticas de contenedores y orquestación

  • Diseño de imágenes de Docker mantenibles
  • Optimización del inicio y rendimiento de contenedores
  • Gestión del ciclo de vida de los contenedores
  • Asignación efectiva de recursos
  • Estrategias de registros y monitoreo
  • Gestión de configuración y secretos
  • Alta disponibilidad y tolerancia a fallos
  • Escalado de aplicaciones contenedorizadas
  • Despliegue seguro de contenedores
  • Estrategias de versionado y lanzamiento
  • Mejores prácticas de arquitectura de orquestación

Diagnóstico de problemas (Troubleshooting)

  • Diagnóstico de fallos en el inicio de contenedores
  • Investigación de registros de aplicaciones y contenedores
  • Inspección de contenedores e imágenes
  • Resolución de problemas de red
  • Resolución de problemas de almacenamiento y volúmenes
  • Diagnóstico de fallos en la compilación de imágenes
  • Diagnóstico de problemas en aplicaciones Docker Compose
  • Investigación de problemas de recursos y rendimiento
  • Fundamentos de diagnóstico en Kubernetes
  • Ejercicios prácticos de diagnóstico

Resumen y conclusión

  • Repaso de conceptos clave de Docker
  • Repaso de creación de imágenes y gestión de contenedores
  • Repaso del despliegue de aplicaciones multi-contenedor
  • Repaso de conceptos de orquestación y Kubernetes
  • Repaso de redes y seguridad en Docker
  • Repaso de la integración CI/CD
  • Mejores prácticas de contenedorización y orquestación
  • Ejercicio práctico final
  • Preguntas y debate

Requerimientos

  • Experiencia previa trabajando con contenedores de Docker.

Público objetivo

  • Desarrolladores
  • Ingenieros DevOps
  • Administradores de sistemas

Número de participantes


Precio por participante

Reseñas (7)

Próximos cursos

Categorías Relacionadas