Introducción
  • ¿Qué es Docker?
  • Arquitectura de Docker
  • ¿Qué es una imagen?
  • ¿Qué es un contenedor?
  • Contenedores VS Máquinas Virtuales
  • ¡Manos a la obra!
  • ¿Realmente estás listo para lanzarte a la práctica?
  • Bonus
Instalación
  • Introducción
  • Debian
  • Ubuntu
  • CentOS / Fedora
  • Windows
Docker Images
  • Introducción - Imágenes
  • Imágenes oficiales - I
  • Imágenes oficiales - II
  • Creando nuestra primera imagen
  • Probando la funcionalidad de nuestra primera imagen
  • Introducción al Dockerfle
  • Dockerfile - From/ Run / Copy / Add
  • Dockerfile - Env / WorkDir / Expose
  • Dockerfile - Label / User / Volume
  • Dockerfile - CMD / dockerignore
  • Dockerfile - Creando una imagen con todos los argumentos
  • Dockerfile - Buenas prácticas
  • Dockerfile - Construyendo una imagen Apache + PHP + TLS/SSL - I
  • Dockerfile - Construyendo una imagen Apache + PHP + TLS/SSL - II
  • Eliminar imágenes
  • Cambiar el nombre del Dockerfile
  • Dangling images
  • Crea tu propia imagen con Nginx y PHP-FPM
  • Tip: Multi-Stage-Build > Aprende a construir apps Java con maven y similares!
  • Comprende por qué deberías empezar a usar Multi-Stage-Build en tus apps
  • Pon a prueba tus conocimientos!
  • Quiz - Docker images
Docker Containers
  • Introducción - Contenedores
  • Listar / Mapear puertos
  • Iniciar / Reiniciar / Detener
  • Variables de entorno
  • Requisitos previos para testear MySQL
  • Crear un contenedor MySQL
  • Crear un contenedor Mongo
  • Crear un contenedor Apache / Ngnix / Tomcat
  • Crear un contenedor PostgreSQL
  • Crear un contenedor Jenkins
  • Administrar usuarios
  • Limitar recursos a un contenedor
  • Copiar archivos a un contenedor
  • Convierte un contenedor en una imagen!
  • Sobreescribe el CMD de una imagen sin un Dockerfile!
  • Aprende a destruir contenedores automáticamente
  • Cambiar el Document Root de Docker
  • Pon a prueba tus conocimientos!
  • Quiz - Docker containers
Docker Volumes
  • Introducción - Volúmenes
  • ¿Por qué son importantes los volúmenes?
  • Volúmenes de host - Caso práctico MySQL
  • Volúmenes anónimos - Caso práctico MySQL
  • Comprende a fondo la instrucción VOLUME de un Dockerfile
  • Volúmenes nombrados - Caso práctico MySQL
  • Dangling volumes
  • Persistiendo data en MongoDB
  • Persistiendo data en Jenkins
  • Persistiendo logs en Nginx
  • Comparte volúmenes entre uno o más contenedores
  • Pon a prueba tus conocimientos!
  • Quiz - Docker Volumes
Docker Network
  • Introducción - Redes
  • ¿Cuál es la red por defecto?
  • Crear una red definida por el usuario
  • Inspeccionar redes
  • Agregar contenedores a una red distinta a la por defecto
  • Conectar contenedores en la misma red
  • Conectar contenedores en distintas redes
  • Eliminar redes
  • Asignar IP a un contenedor
  • La red de Host
  • La red None
  • Notas sobre redes
  • Quiz - Docker Network
Docker Compose
  • Introducción - Docker Compose
  • Archivos Docker Compose de práctica
  • Instalación
  • Primeros pasos en Compose
  • Variables de entorno en Compose
  • Volúmenes en Compose
  • Redes en Compose
  • Construye imágenes en Compose
  • Sobreescribe el CMD de un contenedor con Compose
  • Limitar recursos en contenedores (Compose v2)
  • Politica de reinicio de contenedores
  • Personaliza el nombre de tu proyecto en Compose
  • Usar un nombre distinto en el docker-compose.yml