Introducción y entorno Docker
La contenedorización se ha convertido en el estándar de facto para el desarrollo y despliegue de aplicaciones modernas. Este módulo establece los fundamentos esenciales de Docker, la plataforma líder que permite empaquetar aplicaciones junto con sus dependencias en contenedores ligeros y portables.
¿Por qué dominar Docker es crucial para desarrolladores?
En el ecosistema empresarial actual, Docker resuelve uno de los problemas más persistentes del desarrollo: "funciona en mi máquina". Los contenedores garantizan que tu aplicación se ejecute de forma idéntica en desarrollo, testing y producción, eliminando las inconsistencias del entorno que tradicionalmente ralentizan los equipos.
Los desarrolladores que dominan contenedores Docker pueden:
- Crear entornos de desarrollo reproducibles en minutos
- Simplificar la colaboración en equipos distribuidos
- Acelerar los procesos de CI/CD
- Facilitar el escalado horizontal de aplicaciones
- Reducir conflictos entre dependencias de proyectos
Conceptos fundamentales que aprenderás
Contenedores vs. máquinas virtuales
Comprenderás la diferencia arquitectural entre contenedores y máquinas virtuales tradicionales. Los contenedores comparten el kernel del sistema operativo host, lo que los hace significativamente más eficientes en recursos y tiempo de arranque.
Imágenes Docker
Dominarás el concepto de imágenes Docker como plantillas inmutables que contienen todo lo necesario para ejecutar una aplicación: código, runtime, bibliotecas del sistema y configuraciones. Aprenderás cómo las imágenes se construyen en capas, optimizando el almacenamiento y la distribución.
Docker Engine y arquitectura
Explorarás la arquitectura cliente-servidor de Docker Engine 28, incluyendo el daemon Docker, la API REST y la interfaz de línea de comandos. Entenderás cómo estos componentes interactúan para gestionar contenedores e imágenes.
Registro de contenedores
Trabajarás con Docker Hub como registro público de imágenes, aprendiendo a buscar, descargar y gestionar imágenes oficiales como nginx:1.29
, mysql:9
, postgres:17
, python:3.13
y node:24
.
Instalación multiplataforma
Guarda tu progreso
Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.
Más de 25.000 desarrolladores ya confían en CertiDevs
Docker Desktop vs. Docker Engine
Aprenderás las diferencias entre Docker Desktop (solución completa con interfaz gráfica) y Docker Engine (motor de contenedores puro). Conocerás cuándo usar cada opción según tu entorno de desarrollo.
Configuración en Windows con WSL 2
Para desarrolladores en Windows, dominarás la instalación de Docker Desktop integrado con WSL 2 (Windows Subsystem for Linux), obteniendo rendimiento nativo de Linux mientras mantienes tu flujo de trabajo en Windows.
Instalación en macOS y Linux
Cubrirás la instalación nativa en macOS usando Docker Desktop y la instalación de Docker Engine en distribuciones Linux populares como Ubuntu, CentOS y Debian.
Primeros pasos con la CLI
Comandos esenciales
Dominarás los comandos fundamentales de la CLI de Docker:
# Verificar instalación
docker --version
# Ejecutar tu primer contenedor
docker run hello-world
# Listar contenedores activos
docker ps
# Gestionar imágenes locales
docker images
Gestión de contenedores
Aprenderás el ciclo de vida completo de los contenedores: crear, iniciar, detener, reiniciar y eliminar. Comprenderás la diferencia entre contenedores en ejecución y detenidos.
Trabajo con imágenes
Explorarás cómo descargar imágenes desde registros, listar imágenes locales y eliminar imágenes no utilizadas para optimizar el espacio en disco.
Aplicaciones prácticas inmediatas
Entornos de desarrollo aislados
Crearás entornos de desarrollo completamente aislados para diferentes proyectos. Por ejemplo, ejecutar MySQL 9 para un proyecto y PostgreSQL 17 para otro, sin conflictos de puertos o configuraciones.
Pruebas rápidas de tecnologías
Utilizarás contenedores para probar nuevas versiones de lenguajes como Java 21 o Python 3.13 sin afectar tu instalación local del sistema.
Replicación de entornos de producción
Simularás entornos de producción en tu máquina local usando las mismas imágenes y configuraciones que se ejecutan en servidores remotos.
Prerrequisitos y nivel
Este módulo está diseñado para desarrolladores con experiencia básica en línea de comandos y conceptos de sistemas operativos. No necesitas experiencia previa con contenedores, pero sí familiaridad con:
- Terminal/línea de comandos (bash, PowerShell o cmd)
- Conceptos básicos de redes (puertos, localhost)
- Gestión básica de procesos del sistema operativo
El nivel es principiante a intermedio, estableciendo bases sólidas para módulos avanzados posteriores.
Progresión estructurada del aprendizaje
Las lecciones siguen una secuencia lógica que construye conocimiento de forma incremental:
- Fundamentos teóricos: Conceptos de contenedorización y arquitectura Docker
- Instalación práctica: Configuración paso a paso en tu sistema operativo
- Primeros contenedores: Ejecución de contenedores simples para validar la instalación
- Dominio de la CLI: Comandos esenciales para gestión diaria
- Exploración de Docker Hub: Búsqueda y descarga de imágenes oficiales
- Gestión de imágenes: Operaciones locales con imágenes y optimización de espacio
Al completar este módulo, tendrás un entorno Docker funcional y las habilidades fundamentales para ejecutar cualquier aplicación contenedorizada, preparándote para módulos avanzados sobre construcción de imágenes, orquestación y despliegue empresarial.
Completa Docker y certifícate
Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.
Asistente IA
Resuelve dudas al instante
Ejercicios
Practica con proyectos reales
Certificados
Valida tus conocimientos
Más de 25.000 desarrolladores ya se han certificado con CertiDevs