Contenido

Tutorial de instalación de Docker: instala Docker en Windows, macOS y Linux

La instalación de Docker varía según el sistema operativo:

SistemaQué instalarDescripción
WindowsDocker DesktopEjecuta en segundo plano un entorno Linux mediante WSL 2 para ejecutar Docker Engine
macOSDocker DesktopIncluye una máquina virtual Linux ligera
LinuxDocker EngineSe instala directamente, sin necesidad de una máquina virtual; también puedes instalar Docker Desktop for Linux

Docker Desktop es gratuito para uso personal, educación, proyectos de código abierto no comerciales y pequeñas empresas (menos de 250 empleados y menos de 10 millones de dólares de ingresos anuales). Las empresas más grandes necesitan una suscripción de pago. Docker Engine en Linux es software de código abierto y no está sujeto a esta condición.

Windows

1. Comprueba los requisitos del sistema

  • Windows 10 22H2 (compilación 19045) o Windows 11 23H2 (compilación 22631) o superior, de 64 bits
  • Al menos 8 GB de memoria
  • Una CPU compatible con la virtualización, habilitada en BIOS / UEFI

Pulsa Win + R y escribe winver para consultar la versión y el número de compilación de Windows.

2. Comprueba que la virtualización esté habilitada

Abre «Administrador de tareas» → «Rendimiento» → «CPU». En la esquina inferior derecha, Virtualization (Virtualización) debería aparecer como Enabled (Habilitada):

El Administrador de tareas muestra que la virtualización está habilitada
Administrador de tareas → Rendimiento → CPU: Virtualization aparece como Enabled. Imagen: documentación oficial de Docker (Apache-2.0)

Si aparece «Deshabilitada», reinicia el equipo y entra en la configuración de BIOS / UEFI para habilitar Intel VT-x o AMD-V (SVM) (el nombre de la opción varía según el fabricante de la placa base).

3. Instala o actualiza WSL 2

Abre PowerShell como administrador y ejecuta:

wsl --install

Si ya tienes WSL instalado, actualízalo a la versión más reciente:

wsl --update
wsl --version

La versión de WSL que muestra wsl --version debe ser 2.1.5 o superior. Después de la instalación, reinicia el equipo cuando se te indique.

También puedes comprobar que estas dos opciones estén seleccionadas en «Panel de control → Programas y características → Activar o desactivar las características de Windows»:

Las características de Windows tienen seleccionadas Plataforma de máquina virtual y Subsistema de Windows para Linux
«Virtual Machine Platform (Plataforma de máquina virtual)» y «Windows Subsystem for Linux (Subsistema de Windows para Linux)» deben estar seleccionadas. Imagen: documentación oficial de Docker (Apache-2.0)

4. Instala Docker Desktop

  1. Descarga Docker Desktop for Windows desde el sitio web oficial de Docker (elige x86_64 / AMD64 para un equipo normal y ARM64 para equipos ARM como Surface).
  2. Ejecuta Docker Desktop Installer.exe.
  3. En la pantalla de configuración, deja seleccionada la opción Use WSL 2 instead of Hyper-V (recommended).
  4. Cuando termine la instalación, haz clic en Close y cierra la sesión o reinicia el equipo si se te indica.

5. Primer inicio

  1. Abre Docker Desktop desde el menú Inicio.
  2. Lee y acepta las condiciones del servicio.
  3. Puedes iniciar sesión en tu cuenta de Docker o saltarte este paso (Skip). No es necesario iniciar sesión para seguir este tutorial.
  4. La instalación habrá terminado cuando el indicador de la esquina inferior izquierda muestre que Engine está en ejecución (verde).

Mientras Docker Desktop esté en ejecución, puedes usar directamente el comando docker desde PowerShell, el símbolo del sistema o la terminal de WSL. A continuación, ve a Comprobar que la instalación se realizó correctamente.

macOS

1. Comprueba el tipo de chip

Haz clic en el menú Apple de la esquina superior izquierda → «Acerca de esta Mac»:

  • Si en «Chip» aparece Apple M series, descarga la versión Apple Silicon.
  • Si en «Procesador» aparece Intel, descarga la versión Intel chip.

Requisitos del sistema: una de las tres versiones principales más recientes de macOS y al menos 4 GB de memoria.

2. Instala

  1. Descarga la versión correspondiente de Docker.dmg desde el sitio web oficial de Docker.
  2. Abre Docker.dmg y arrastra el icono de Docker a la carpeta «Aplicaciones».
  3. Abre Docker desde «Aplicaciones». La primera vez, el sistema preguntará si permites abrirlo; selecciona «Abrir».
  4. Acepta las condiciones del servicio y escribe la contraseña de tu Mac cuando se te solicite para autorizar la instalación de los componentes necesarios.
  5. La instalación habrá terminado cuando aparezca el icono de la ballena en la barra de menús y Docker Desktop indique que Engine está en ejecución.

En Apple Silicon, se recomienda instalar también Rosetta 2, que necesitan algunas herramientas disponibles solo para Intel:

softwareupdate --install-rosetta

Linux (Ubuntu)

En Linux, instala Docker Engine directamente. Los siguientes pasos se han probado en Ubuntu 26.04 LTS y son idénticos en Ubuntu 24.04 (los comandos detectan automáticamente el nombre en clave de la versión del sistema).

1. Elimina paquetes antiguos o en conflicto

Los repositorios incluidos en Ubuntu también ofrecen paquetes como docker.io, que tienen versiones antiguas y entran en conflicto con la versión oficial. Elimínalos primero (no habrá ningún problema si no estaban instalados):

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove -y $pkg; done

2. Añadir el repositorio oficial de Docker

sudo apt-get update
sudo apt-get install -y ca-certificates curl
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

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
  https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
  | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Después de añadirlo, ejecuta sudo apt-get update. En la salida debería aparecer el repositorio de paquetes download.docker.com (fragmento; resolute es el nombre en clave de Ubuntu 26.04 y en 24.04 aparecerá noble):

$ sudo apt-get update
Get:1 https://download.docker.com/linux/ubuntu resolute InRelease [32.5 kB]
Get:2 https://download.docker.com/linux/ubuntu resolute/stable amd64 Packages [33.2 kB]

3. Instalar Docker Engine

sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
PaqueteContenido
docker-ceDocker Engine (dockerd)
docker-ce-cliHerramienta de línea de comandos docker
containerd.ioEntorno de ejecución de contenedores subyacente
docker-buildx-pluginHerramienta de compilación docker buildx/BuildKit
docker-compose-plugindocker compose

A continuación se muestra la salida real de la instalación (fragmento) y las versiones instaladas:

$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Need to get 128 MB of archives.
After this operation, 511 MB of additional disk space will be used.
Setting up docker-buildx-plugin (0.38.0-1~ubuntu.26.04~resolute) ...
Setting up containerd.io (2.4.1-2~ubuntu.26.04~resolute) ...
Setting up docker-compose-plugin (5.6.0-1~ubuntu.26.04~resolute) ...
Setting up docker-ce-cli (5:29.9.0-1~ubuntu.26.04~resolute) ...
Setting up docker-ce (5:29.9.0-1~ubuntu.26.04~resolute) ...
Setting up docker-ce-rootless-extras (5:29.9.0-1~ubuntu.26.04~resolute) ...

$ docker --version
Docker version 29.9.0, build f415da8
$ docker compose version
Docker Compose version v5.6.0
$ docker buildx version
github.com/docker/buildx v0.38.0 0dbe87f36ed472fe36b6796c3f70b4210a731fc5
$ containerd --version
containerd containerd v2.4.1 f2551031d7276a770f65f98c9b52e57e7dad07e8

Una vez finalizada la instalación, el servicio Docker se inicia automáticamente y queda configurado para iniciarse al arrancar el sistema. Puedes comprobarlo con systemctl:

sudo systemctl status docker

Si el estado muestra active (running), significa que se está ejecutando.

4. Permitir que un usuario normal ejecute docker

Justo después de la instalación, solo root puede usar Docker. Si un usuario normal ejecuta el comando docker, aparece un error de permisos:

$ docker ps
permission denied while trying to connect to the docker API at unix:///var/run/docker.sock

Añádete al grupo docker:

sudo usermod -aG docker $USER

El cambio surtirá efecto después de cerrar sesión y volver a iniciarla (o ejecutar newgrp docker).

Pertenecer al grupo docker equivale a tener permisos de root (puedes crear contenedores que monten todo el sistema). Hazlo solo con cuentas de confianza.

Comprobar que la instalación se realizó correctamente

En cualquier sistema, abre la terminal (PowerShell en Windows) y ejecuta:

$ docker version
Client:
 Version:           29.9.0
 API version:       1.56
 Go version:        go1.26.9
 Git commit:        f415da8
 Built:             Thu Oct  8 20:36:58 2026
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          29.9.0
  API version:      1.56 (minimum version 1.40)
  Go version:       go1.26.9
  Git commit:       a5b58c9
  Built:            Thu Oct  8 20:39:33 2026
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v2.4.1
  GitCommit:
 runc:
  Version:          1.5.2
  GitCommit:        v1.5.2-0-g29dd3dc
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Lo importante es que aparezcan las secciones Client y Server (en Windows y macOS, Client mostrará windows/amd64 o darwin/arm64; Server siempre será linux, porque Docker Engine se ejecuta en el entorno Linux de Docker Desktop):

  • Client: la herramienta de línea de comandos docker que usas
  • Server: Docker Engine, que se ejecuta en segundo plano

Si la sección Server muestra un mensaje de error, significa que Engine no se está ejecutando; consulta los problemas frecuentes más abajo.

A continuación, ejecuta tu primer contenedor:

$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
4f55086f7dd0: Pull complete
Digest: sha256:5e23090353324d887c48ad5e5c56d294eab81588df9605b07d1afe895f9cc8f8
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

La salida describe los cuatro pasos que acaban de ocurrir: la CLI se comunica con Engine → Engine descarga la imagen hello-world de Docker Hub → crea y ejecuta un contenedor con ella → devuelve la salida a tu terminal.

Por último, comprueba Compose y Buildx:

$ docker compose version
Docker Compose version v5.6.0

$ docker buildx version
github.com/docker/buildx v0.38.0 0dbe87f36ed472fe36b6796c3f70b4210a731fc5

Solución de problemas

failed to connect to the docker API

En las versiones antiguas de Docker, el mensaje era Cannot connect to the Docker daemon; Docker 29 lo cambió por el siguiente:

$ docker ps
failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory

Significa que Docker Engine no se está ejecutando.

  • Windows / macOS: abre Docker Desktop y espera a que muestre Engine running.

  • Linux: inicia el servicio y configúralo para que se inicie al arrancar el sistema:

    sudo systemctl start docker
    sudo systemctl enable docker

permission denied while trying to connect to the docker API

Es un problema de permisos en Linux (consulta el error real del paso 4). Añádete al grupo docker y luego cierra sesión y vuelve a iniciarla. Si solo ejecutas usermod y no vuelves a iniciar sesión, el cambio de grupo aún no surtirá efecto.

Windows: WSL 2 installation is incomplete

WSL no está instalado o su versión es demasiado antigua. Ejecuta wsl --update como administrador, reinicia el equipo y vuelve a abrir Docker Desktop.

Windows: no se detectó compatibilidad con la virtualización

La virtualización no está habilitada en BIOS/UEFI. Consulta el paso 2 de Windows más arriba.

Resumen

  • Instala Docker Desktop en Windows y macOS; instala Docker Engine en servidores Linux.
  • Windows requiere que la virtualización de la CPU esté habilitada y que uses WSL 2.1.5 o posterior.
  • Si docker version muestra Client y Server, significa que Engine está en ejecución.
  • En Linux, los usuarios normales deben añadirse al grupo docker, lo que equivale a concederles privilegios de root.

Ejercicios

Ejercicio 1: Ejecuta docker version y averigua la versión de tu Docker Engine, así como el OS/Arch del Server.

Pista

Fíjate en Version y OS/Arch de la sección Server: Docker Engine. En Windows y macOS, el Server siempre es linux/amd64 o linux/arm64, porque Engine se ejecuta dentro de la máquina virtual Linux de Docker Desktop.

Ejercicio 2: Después de ejecutar docker run hello-world, ejecuta docker ps -a. ¿Por qué aparece un contenedor que ya ha terminado?

Respuesta

hello-world termina después de imprimir un mensaje. El contenedor se detiene, pero no se elimina. Si lo ejecutas con --rm, se eliminará automáticamente al terminar. Consulta el ciclo de vida de los contenedores.

Preguntas frecuentes

¿Se puede instalar Docker Desktop en Windows Home?

Sí. Docker Desktop usa WSL 2, compatible con las ediciones Home de Windows 10 y 11, siempre que la versión y la compilación cumplan los requisitos y la virtualización de la CPU esté habilitada.

¿Qué debo instalar en Linux: Docker Desktop o Docker Engine?

En servidores, instala siempre Docker Engine. En escritorios Linux puedes usar cualquiera de los dos; los comandos de este tutorial funcionan en ambos entornos.

¿Qué hago si aparece permission denied al ejecutar docker después de la instalación?

En Linux, los usuarios normales deben añadirse al grupo docker y volver a iniciar sesión. Consulta los pasos de este capítulo en «Permitir que los usuarios normales ejecuten docker».

Actualizado 14 de octubre de 2026