
Docker para Desarrolladores
Descripción
Objetivos
- Entender qué resuelve un contenedor y en qué se diferencia de una máquina virtual.
- Construir imágenes propias con Dockerfile y optimizar sus capas.
- Orquestar varios servicios con Docker Compose.
- Encajar los contenedores en un pipeline de integración y despliegue continuo.
Audiencia
Prerrequisitos
Temario
Curso completo de introducción a Docker y CI/CD, diseñado para proporcionar una base sólida en contenedores y prácticas de integración y despliegue continuo.
Módulo 1: Fundamentos de Docker
¿Qué es Docker?
Historia y evolución.
Diferencias entre máquinas virtuales y contenedores
Beneficios de usar Docker
Arquitectura de Docker
Docker Engine, Imágenes, Contenedores, Volúmenes, Redes
Práctica:
Instalar Docker y ejecutar el primer contenedor con hello-world y ubuntu.
Módulo 2: Imágenes y Contenedores
Comandos básicos de Docker
docker run, docker ps, docker stop, docker rm, docker images, docker rmi
Trabajando con imágenes de Docker Hub
docker pull, docker search
Creando un contenedor interactivo
docker run -it ubuntu bash
Persistencia de datos
Introducción a volúmenes (docker volume)
Módulo 3: Dockerfiles y Creación de Imágenes Personalizadas
¿Qué es un Dockerfile?
Instrucciones básicas
FROM, RUN, COPY, CMD, ENTRYPOINT
Creación de una imagen propia
A partir de un Dockerfile
Introducción a capas en imágenes y optimización
Práctica:
Crear una imagen personalizada con Python y ejecutar un script dentro de un contenedor.
Módulo 4: Redes, Volúmenes y Docker Compose
Redes en Docker
Volúmenes en Docker
Introducción a Docker Compose
Módulo 5: Integración continua con Git
Conceptos de integración continua (CI)
Introducción a pipelines de CI/CD
Integración de Git con herramientas de CI
Jenkins, Travis CI, GitLab CI