Aprender Docker Introducción y entorno

Módulo del curso de Docker

Docker
Docker
Módulo del curso
2 lecciones
2 ejercicios
Actualizado: 14/08/2025

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:

  1. Fundamentos teóricos: Conceptos de contenedorización y arquitectura Docker
  2. Instalación práctica: Configuración paso a paso en tu sistema operativo
  3. Primeros contenedores: Ejecución de contenedores simples para validar la instalación
  4. Dominio de la CLI: Comandos esenciales para gestión diaria
  5. Exploración de Docker Hub: Búsqueda y descarga de imágenes oficiales
  6. 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.

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 - Autor del curso

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.