Qué es Docker, cómo funciona la arquitectura cliente-servidor

  • Ventajas clave: portabilidad, escalabilidad, eficiencia y consistencia.
  • Los componentes básicos: imágenes, contenedores, volúmenes, redes, Dockerfile, Compose y Swarm.

🔹 Instalación y primeros pasos

  • Cómo instalar Docker en Linux, Windows y macOS.
  • Diferencias entre Docker Engine y Docker Desktop.
  • Pasos posteriores a la instalación (configuración, permisos, actualización y desinstalación).

🔹 Trabajo con contenedores

  • Ejecutar tu primer contenedor.
  • Comandos básicos: crear, detener, reiniciar y eliminar contenedores.
  • Modos de ejecución: interactivo y en segundo plano.
  • Mapeo de puertos, logs, ejecución de comandos y manejo de recursos (CPU, memoria).
  • Ejemplo práctico: ejecutar Apache en un contenedor.

🔹 Imágenes y Dockerfiles

  • Conceptos de imágenes, capas, tags e IDs.
  • Cómo crear imágenes personalizadas usando Dockerfile.
  • Buenas prácticas: minimizar capas, usar .dockerignore, multi-stage builds y seguridad.
  • Cómo versionar, optimizar, escanear y subir imágenes a Docker Hub.

🔹 Redes y almacenamiento

  • Redes en Docker: bridge, host, overlay, macvlan, none y plugins.
  • Cómo conectar contenedores entre sí y con el exterior.
  • Volúmenes: persistencia de datos, tipos (named, bind mounts, tmpfs), backups y buenas prácticas.

🔹 Docker Compose

  • Uso de archivos docker-compose.yml para definir aplicaciones multi-contenedor.
  • Comandos esenciales (up, down, logs, ps).
  • Casos prácticos:
    • WordPress + MySQL.
    • Flask + Redis + Nginx.
  • Escalabilidad de servicios, redes y volúmenes en Compose.

🔹 Seguridad

  • Mantener Docker actualizado.
  • Usar imágenes oficiales y escanear vulnerabilidades.
  • Ejecutar contenedores con usuarios no root.
  • Manejo de secretos, auditorías, AppArmor/SELinux, segmentación de redes, logging y monitoring seguro.

🔹 Docker en producción (Kubernetes & Swarm)

  • Conceptos de Kubernetes: pods, servicios, deployments, namespaces.
  • Crear un cluster (Minikube o servicios administrados como GKE, EKS, AKS).
  • Escalado, rolling updates, monitoreo (Prometheus, Grafana), almacenamiento persistente y secretos.
  • Orquestación nativa con Docker Swarm: servicios, clusters, managers y workers.

🔹 Optimización y troubleshooting

  • Optimización de imágenes (alpine, multi-stage).
  • Rendimiento en red, almacenamiento, logging y daemon.
  • Técnicas de benchmarking, profiling y monitoreo.
  • Solución de problemas comunes:
    • Contenedores que no inician.
    • Fallos de red o volúmenes.
    • Uso excesivo de recursos.
    • Problemas con imágenes y daemon.

🔹 Conceptos avanzados

  • Docker BuildKit y Buildx.
  • Plugins y características experimentales.
  • Content Trust y secretos.
  • Health checks personalizados.
  • Manifiestos multi-arquitectura.
  • Docker Compose Profiles.

🔹 Ciclos de integración y despliegue (CI/CD)

  • Uso de Docker en CI (tests automáticos, entornos reproducibles).
  • Integración con GitLab, GitHub Actions, Jenkins, Travis.
  • Despliegue con Swarm o Kubernetes.
  • Estrategias de blue-green deployments.
  • Seguridad, pruebas de rendimiento, logging y caching de capas.

🔹 Microservicios

  • Principios de arquitectura de microservicios.
  • Dockerización de microservicios y comunicación vía REST, colas (RabbitMQ), etc.
  • Descubrimiento de servicios (Consul) y uso de API Gateways (Nginx).
  • Bases de datos por servicio, monitoreo y escalado.
  • Estrategias de pruebas y despliegue.

🔹 Data Science & Machine Learning

  • Configuración de entornos reproducibles (Jupyter, Conda).
  • Uso de GPUs con Docker para entrenar modelos.
  • Entrenamiento distribuido con Docker Swarm.
  • MLOps: despliegue de modelos, pipelines con Airflow, reproducibilidad.
  • Procesamiento de Big Data con Spark en contenedores.
  • AutoML y tuning de hiperparámetros a escala.

✅ En resumen, aprenderás desde cero hasta nivel avanzado: instalación, manejo de contenedores, redes, almacenamiento, seguridad, CI/CD, microservicios, machine learning y orquestación con Kubernetes y Swarm.
Con este libro saldrás con la capacidad de implementar proyectos Docker en desarrollo, pruebas y producción.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio
Share via
Copy link