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:
| Sistema | Qué instalar | Descripción |
|---|---|---|
| Windows | Docker Desktop | Ejecuta en segundo plano un entorno Linux mediante WSL 2 para ejecutar Docker Engine |
| macOS | Docker Desktop | Incluye una máquina virtual Linux ligera |
| Linux | Docker Engine | Se 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):

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»:

4. Instala Docker Desktop
- 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).
- Ejecuta
Docker Desktop Installer.exe. - En la pantalla de configuración, deja seleccionada la opción Use WSL 2 instead of Hyper-V (recommended).
- 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
- Abre Docker Desktop desde el menú Inicio.
- Lee y acepta las condiciones del servicio.
- Puedes iniciar sesión en tu cuenta de Docker o saltarte este paso (Skip). No es necesario iniciar sesión para seguir este tutorial.
- 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
- Descarga la versión correspondiente de
Docker.dmgdesde el sitio web oficial de Docker. - Abre
Docker.dmgy arrastra el icono de Docker a la carpeta «Aplicaciones». - Abre Docker desde «Aplicaciones». La primera vez, el sistema preguntará si permites abrirlo; selecciona «Abrir».
- 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.
- 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
| Paquete | Contenido |
|---|---|
docker-ce | Docker Engine (dockerd) |
docker-ce-cli | Herramienta de línea de comandos docker |
containerd.io | Entorno de ejecución de contenedores subyacente |
docker-buildx-plugin | Herramienta de compilación docker buildx/BuildKit |
docker-compose-plugin | docker 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
dockerequivale 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
dockerque 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 versionmuestra 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