Módulo: Introducción y entorno
Este módulo forma parte del curso de Docker. Incluye 2 lecciones y 2 ejercicios de programación .
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
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.
Ejercicios de programación
Otros módulos de este curso
Lecciones de este módulo
Explora todas las lecciones disponibles en Introducción y entorno
Todos los módulos del curso
Navega entre los módulos de Docker
Explora más sobre Docker
Descubre más recursos de Docker

Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Docker es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.