Temario del curso
Introducción
- Introducción a conceptos y flujos de trabajo avanzados de Docker
- Repaso de los principios y casos de uso de la contenerización
- Terminología y componentes esenciales de Docker
- Resumen de los objetivos del curso y del entorno práctico
Visión general de las funciones y la arquitectura de Docker
- Motor de Docker y sus componentes
- Cliente, demonio, imágenes, contenedores y registros de Docker
- Arquitectura de Docker y ciclo de vida de los contenedores
- Docker Hub y registros privados
- Conceptos básicos de la interfaz de línea de comandos (CLI) de Docker para usuarios avanzados
- Administración de recursos y configuraciones de Docker
Configuración de Docker
- Instalación 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
- Administración de la configuración y el almacenamiento de Docker
- Introducción a la resolución de problemas en el entorno de Docker
Creación de imágenes de Docker propias
- Comprensión de las imágenes y las capas de Docker
- Escritura de Dockerfiles eficaces
- Instrucciones del Dockerfile y buenas prácticas
- Gestión del contexto de compilación
- Compilación y etiquetado de imágenes
- Uso de
.dockerignore - Optimización del tamaño de la imagen y el rendimiento de la compilación
- Gestión de versiones y etiquetas de imágenes
- Compilaciones de Docker en varias etapas (multi-stage)
- Publicación de imágenes en un registro de contenedores
Ejecución de aplicaciones de Docker multi-contenedor con Docker Compose
- Introducción a Docker Compose
- Definición de servicios mediante archivos 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 varios servicios
- Compilación de imágenes de aplicaciones con Compose
- Administración de la configuración de la aplicación
- Depuración de aplicaciones multi-contenedor
- Buenas prácticas de Compose
Los desafíos del despliegue de muchas aplicaciones de Docker
- Gestión de contenedores en varios hosts
- Escala y disponibilidad de aplicaciones
- Detección de servicios
- Equilibramiento de carga
- Gestión de configuración y secretos
- Desafíos del almacenamiento persistente
- Supervisión y registro 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 y gestión de cargas de trabajo
- Detección de servicios y redes
- Escala y auto-reparación de aplicaciones
- Despliegues progresivos y retrocesos (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 esenciales
- Pods, nodos y clústeres
- Despliegues (Deployments) y ReplicaSets
- Servicios y detección de servicios
- ConfigMaps y Secrets
- Spaces de nombres (Namespaces) y organización de recursos
- Escala de aplicaciones
- Actualizaciones progresivas y retrocesos
- Fundamentos de la red en Kubernetes
- Almacenamiento persistente
- Comprobaciones de salud y resiliencia de aplicaciones
- Despliegue de aplicaciones de Docker en Kubernetes
- Resolución de problemas en cargas de trabajo de Kubernetes
Redes avanzadas de Docker
- Arquitectura de redes de 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
- Detección de servicios
- Publicación y exposición de puertos
- Redes en entornos multi-host
- Resolución de problemas en la red de Docker
Seguridad de Docker
- Fundamentos de la seguridad en Docker
- Aislamiento de contenedores y límites de seguridad
- Ejecución de contenedores con los privilegios adecuados
- Gestión de usuarios y permisos dentro de los contenedores
- Capacidades de Linux y controles de seguridad
- Protección de imágenes de Docker
- Escaneo de vulnerabilidades en imágenes
- Gestión segura de secretos
- Protección de registros de Docker
- Seguridad y aislamiento de red
- Seguridad del demonio de Docker
- Buenas prácticas de seguridad de contenedores
Configuración de un flujo de trabajo de integración continua para aplicaciones de Docker
- Introducción a la CI para aplicaciones contenerizadas
- 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 con las 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 comprobaciones automáticas de calidad
- Diseño de una pipeline de CI de Docker repetible
Integración de aplicaciones de Docker en un flujo de trabajo existente
- Integración de Docker con los flujos de trabajo de desarrollo existentes
- Contenerización de aplicaciones existentes
- Integración de Docker con plataformas CI/CD
- Gestión de entornos de desarrollo, pruebas, preproducción y producción
- Estrategias de despliegue automatizado
- Gestión de la configuración entre entornos
- Integración de registros
- Aprobaciones de despliegue y gestión de liberaciones
- Supervisión de los despliegues de aplicaciones
- Mantenimiento de la coherencia entre entornos
Buenas prácticas de contenedores y orquestación
- Diseño de imágenes de Docker mantenibles
- Optimización del inicio y rendimiento de los contenedores
- Gestión del ciclo de vida de los contenedores
- Asignación eficaz de recursos
- Estrategias de registro y supervisión
- Gestión de configuración y secretos
- Alta disponibilidad y tolerancia a fallos
- Escala de aplicaciones contenerizadas
- Despliegue seguro de contenedores
- Estrategias de versiones y liberaciones
- Buenas prácticas de arquitectura de orquestación
Resolución de problemas
- 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
- Resolución de problemas en aplicaciones de Docker Compose
- Investigación de problemas de recursos y rendimiento
- Fundamentos de la resolución de problemas en Kubernetes
- Ejercicios prácticos de resolución de problemas
Resumen y conclusión
- Repaso de los conceptos clave de Docker
- Repaso de la creación de imágenes y la gestión de contenedores
- Repaso del despliegue de aplicaciones multi-contenedor
- Repaso de los conceptos de orquestación y Kubernetes
- Repaso de las redes y la seguridad de Docker
- Repaso de la integración CI/CD
- Buenas prácticas de contenerización y orquestación
- Ejercicio práctico final
- Preguntas y discusión
Requerimientos
- Experiencia previa trabajando con contenedores de Docker.
Público objetivo
- Desarrolladores
- Ingenieros de DevOps
- Administradores de sistemas
Reseñas (7)
El amplio conocimiento del formador, su capacidad para resolver problemas que surgían espontáneamente durante las sesiones prácticas. Además, los ejercicios mismos son adecuados para ayudar a consolidar los temas contenidos en el curso.
Cosmin - Ness Digital Engineering
Curso - Advanced Docker
Traducción Automática
El ritmo y el hecho de que nos sumergimos en profundidad muy rápidamente, pero creo que podríamos haber ido aún más a fondo desde el primer día (considerando que es un entrenamiento avanzado de Docker, se supone que hay ciertos conocimientos básicos de Docker).
SORIN ROMAN - Ness Digital Engineering
Curso - Advanced Docker
Traducción Automática
el formador es una persona amable y explicó todo muy bien, de manera estructurada y coherente. ejercicios geniales para la práctica
Andreas - Ness Digital Engineering
Curso - Advanced Docker
Traducción Automática
La formación tuvo un buen ritmo, adaptado a la experiencia de cada participante. Además, tiene un equilibrio agradable entre nociones teóricas y ejercicios prácticos.
Laurentiu - Ness Digital Engineering
Curso - Advanced Docker
Traducción Automática
La estructura y la forma en que se presentó. Para mí, este entrenamiento fue como un viaje: desde las aplicaciones hasta los contenedores de Docker, hasta Kubernetes. Los ejercicios fueron atractivos y pertinentes.
Andrei - Ness Digital Engineering
Curso - Advanced Docker
Traducción Automática
tener a la mano la MV
Pamela Perez Aguirre - AT&T
Curso - Advanced Docker
Considero que fue el hecho de como se abordaron los temas, son muchos los conceptos pero me agrado que nos permitió comprender como es que docker funciona y de lo que consta.