En esta lección dejaremos tu entorno preparado para trabajar con Docker durante el resto del curso. Veremos cómo instalarlo en los tres sistemas operativos más habituales —Windows (con Docker Desktop y WSL2), macOS y Linux—, comprobaremos que la instalación ha sido correcta ejecutando nuestros primeros comandos y, por último, repasaremos los problemas de instalación más comunes y cómo resolverlos. Una instalación bien hecha te ahorrará muchos quebraderos de cabeza más adelante, así que merece la pena dedicarle atención.

Objetivos de Aprendizaje

  • Conocer las distintas formas de instalar Docker según tu sistema operativo.
  • Instalar Docker Desktop en Windows aprovechando WSL2.
  • Instalar Docker Desktop en macOS (Intel o Apple Silicon).
  • Instalar Docker Engine en Linux.
  • Verificar la instalación con docker --version y docker run hello-world.
  • Identificar y resolver los problemas de instalación más frecuentes.

¿Qué Vamos a Instalar?

Antes de empezar, conviene aclarar dos términos que verás a menudo:

  • Docker Engine: el motor que realmente construye y ejecuta los contenedores. Es el núcleo de Docker.
  • Docker Desktop: una aplicación de escritorio para Windows y macOS que incluye Docker Engine, una interfaz gráfica, herramientas como Docker Compose y todo lo necesario, ya integrado y configurado.
Sistema operativo Qué se instala normalmente Notas
Windows Docker Desktop (usa WSL2 por debajo) Requiere virtualización activada
macOS Docker Desktop Versiones distintas para Intel y Apple Silicon
Linux Docker Engine (también existe Desktop) Se instala directamente sobre el sistema

Instalación en Windows (Docker Desktop + WSL2)

En Windows, la forma recomendada es instalar Docker Desktop, que utiliza WSL2 (Windows Subsystem for Linux 2) para ejecutar los contenedores. WSL2 es una capa que permite ejecutar un kernel de Linux real dentro de Windows, lo que ofrece mejor rendimiento y compatibilidad.

Requisitos

  • Windows 10 (64 bits) versión 21H2 o superior, o Windows 11.
  • Virtualización activada en la BIOS/UEFI (suele estar activada por defecto).
  • WSL2 instalado.

Paso 1: Instalar WSL2

Abre PowerShell como administrador y ejecuta:

wsl --install
  • wsl --install: instala WSL2 junto con una distribución de Linux por defecto (normalmente Ubuntu) y activa las características de Windows necesarias.
  • Tras ejecutarlo, reinicia el ordenador para que los cambios surtan efecto.

Puedes comprobar la versión instalada con:

wsl --version

Paso 2: Instalar Docker Desktop

  1. Descarga el instalador de Docker Desktop para Windows desde la página oficial de Docker.
  2. Ejecuta el instalador (Docker Desktop Installer.exe).
  3. Cuando te lo pregunte, asegúrate de dejar marcada la opción "Use WSL 2 instead of Hyper-V" (usar WSL2).
  4. Finaliza la instalación y reinicia si te lo solicita.
  5. Abre Docker Desktop. La primera vez tardará unos segundos en arrancar el motor; sabrás que está listo cuando el icono de la ballena en la barra de tareas deje de animarse.

Instalación en macOS

En macOS también se instala Docker Desktop. Es importante elegir la versión correcta según el procesador de tu Mac.

  • Apple Silicon (chips M1, M2, M3 y posteriores): descarga la versión Apple Chip.
  • Intel: descarga la versión Intel Chip.

Si no estás seguro de qué procesador tienes, ve al menú Apple → Acerca de este Mac y mira el campo del chip o procesador.

Pasos

  1. Descarga el archivo Docker.dmg correspondiente a tu procesador.
  2. Haz doble clic en el .dmg y arrastra el icono de Docker a la carpeta Aplicaciones.
  3. Abre Docker desde Aplicaciones. macOS pedirá permisos la primera vez; concédelos.
  4. Espera a que el icono de la ballena en la barra de menú indique que Docker está en marcha.

Instalación en Linux

En Linux lo habitual es instalar Docker Engine directamente. El procedimiento exacto varía según la distribución; a continuación mostramos el caso de Ubuntu/Debian, uno de los más comunes.

Paso 1: Actualizar el sistema e instalar dependencias

sudo apt-get update
sudo apt-get install -y ca-certificates curl
  • sudo: ejecuta el comando con permisos de administrador (necesario para instalar software).
  • apt-get update: refresca la lista de paquetes disponibles.
  • apt-get install -y ca-certificates curl: instala utilidades necesarias para descargar y verificar paquetes de forma segura. El -y responde "sí" automáticamente a las preguntas.

Paso 2: Añadir el repositorio oficial de Docker

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
  -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
  • Estas órdenes descargan la clave GPG oficial de Docker, que sirve para verificar que los paquetes son auténticos.
  • /etc/apt/keyrings: carpeta donde se guardan las claves de confianza.
  • chmod a+r: da permiso de lectura a la clave para que el gestor de paquetes pueda usarla.

Paso 3: Instalar Docker Engine

sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin
  • docker-ce: el motor de Docker (Community Edition).
  • docker-ce-cli: la herramienta de línea de comandos (docker).
  • containerd.io: el runtime que gestiona el ciclo de vida de los contenedores.
  • docker-compose-plugin: añade el comando docker compose para orquestar varios contenedores.

Paso 4 (recomendado): Ejecutar Docker sin sudo

Por defecto, en Linux necesitas sudo para cada comando de Docker. Para evitarlo, añade tu usuario al grupo docker:

sudo usermod -aG docker $USER
  • usermod -aG docker $USER: añade (-aG) tu usuario actual ($USER) al grupo docker.
  • Tras ejecutarlo, cierra la sesión y vuelve a entrar (o reinicia) para que el cambio surta efecto.

Nota de seguridad: pertenecer al grupo docker otorga privilegios equivalentes a los de administrador del sistema. Concede esta pertenencia solo a usuarios de confianza.

Verificación de la Instalación

Independientemente del sistema operativo, los pasos para comprobar que todo funciona son los mismos.

Comprobar la versión

docker --version
  • Muestra la versión instalada, algo como Docker version 27.0.3, build ....
  • Si ves un número de versión, significa que la herramienta de línea de comandos está correctamente instalada y accesible.

Para una información más completa (cliente y servidor) puedes usar:

docker info
  • Muestra detalles del motor, número de contenedores, imágenes, configuración de almacenamiento, etc. Si este comando responde sin errores, el motor está en marcha.

Ejecutar el contenedor de prueba hello-world

docker run hello-world
  • docker run: descarga (si hace falta) y ejecuta una imagen.
  • hello-world: una imagen oficial diminuta creada precisamente para verificar la instalación.

Si todo está bien, verás un mensaje que empieza por "Hello from Docker!". Ese mensaje confirma que Docker pudo:

  1. Contactar con el motor.
  2. Descargar la imagen hello-world desde Docker Hub.
  3. Crear y ejecutar un contenedor a partir de ella.
  4. Mostrar la salida del contenedor en tu terminal.

¡Felicidades! Si llegaste hasta aquí, tu entorno Docker funciona.

Errores Comunes y Consejos

  • Cannot connect to the Docker daemon: el motor no está en marcha. En Windows/macOS, abre Docker Desktop y espera a que arranque. En Linux, inícialo con sudo systemctl start docker.
  • permission denied while trying to connect to the Docker daemon socket (Linux): no has añadido tu usuario al grupo docker, o no has reiniciado la sesión después de hacerlo. Repasa el Paso 4.
  • Virtualización desactivada (Windows): si Docker Desktop no arranca, entra en la BIOS/UEFI y activa la virtualización (Intel VT-x o AMD-V).
  • WSL2 no instalado o desactualizado (Windows): ejecuta wsl --install o wsl --update y reinicia.
  • Descargar la versión equivocada en Mac: instalar la versión Intel en un Mac con Apple Silicon (o viceversa) provoca un rendimiento pésimo o fallos. Verifica tu procesador antes de descargar.
  • Consejo: ejecuta siempre docker run hello-world justo después de instalar. Es la forma más rápida y fiable de confirmar que todo el flujo (motor, descarga y ejecución) funciona.

Ejercicios

Ejercicio 1

Instala Docker en tu sistema operativo y demuestra que el motor está activo ejecutando un comando que muestre información del cliente y del servidor (no solo la versión).

Ejercicio 2

Ejecuta el contenedor de prueba oficial y explica brevemente qué cuatro acciones confirma su mensaje de salida.

Ejercicio 3

Estás en Linux y, al ejecutar docker ps, recibes el error permission denied ... docker daemon socket. Indica qué comando soluciona el problema y qué paso adicional es imprescindible después.

Soluciones

Solución 1

docker info

El comando docker info muestra información tanto del cliente como del servidor (motor). Si devuelve datos sin error —número de contenedores, imágenes, driver de almacenamiento, etc.— significa que el motor está activo y correctamente comunicado con la línea de comandos. Como comprobación rápida adicional, docker --version confirma que la CLI está instalada.

Solución 2

docker run hello-world

El mensaje "Hello from Docker!" confirma que Docker pudo: (1) contactar con el motor, (2) descargar la imagen hello-world desde Docker Hub, (3) crear y ejecutar un contenedor a partir de esa imagen, y (4) mostrar la salida del contenedor en tu terminal.

Solución 3

sudo usermod -aG docker $USER

Este comando añade tu usuario al grupo docker. El paso adicional imprescindible es cerrar la sesión y volver a iniciarla (o reiniciar el equipo) para que la pertenencia al nuevo grupo se aplique. Sin ese reinicio de sesión, el error persistirá.

Conclusión

En esta lección hemos instalado Docker en Windows (con Docker Desktop y WSL2), macOS (eligiendo la versión correcta según el procesador) y Linux (Docker Engine desde el repositorio oficial). Además, hemos verificado la instalación con docker --version, docker info y docker run hello-world, y hemos repasado los problemas más habituales y sus soluciones. Tu entorno ya está listo para trabajar.

En la siguiente lección, Arquitectura de Docker, abriremos el capó para entender cómo funciona Docker por dentro: la arquitectura cliente-servidor, el papel del daemon, la CLI y la API REST, y componentes como containerd y runc. Comprender esta arquitectura te ayudará a razonar sobre lo que ocurre cada vez que ejecutas un comando.

© Copyright 2026. Todos los derechos reservados