Cómo instalar Docker en Ubuntu 24.04
Índice de contenidos
- Puntos clave
- Pasos previos a la instalación
- Añadir el repositorio oficial de Docker
- Instalar el motor de Docker
- Configurar el daemon de Docker
- Verificar la instalación
- Añadir tu usuario al grupo docker
- Preguntas frecuentes
- ¿Necesito desinstalar Docker Desktop antes de instalar Docker Engine?
- ¿Por qué el comando docker falla con «permission denied» sin sudo?
- ¿Qué diferencia hay entre Docker Engine y Docker Desktop?
- Conclusión
- Fuentes
Actualizado: 2026-07-17
Docker es la plataforma de contenedores más extendida. Esta guía explica cómo instalarlo en Ubuntu 24.04 LTS desde el repositorio oficial, con la clave GPG firmada en /etc/apt/keyrings y el plugin de Compose incluido.
Docker[1] es la plataforma de contenedores más extendida: permite construir, enviar y ejecutar aplicaciones en entornos aislados y reproducibles. Esta guía explica cómo instalar Docker Engine (el motor de contenedores: el daemon dockerd, el cliente de línea de comandos y los plugins de Compose y Buildx, sin la interfaz gráfica de Docker Desktop) en Ubuntu 24.04 LTS desde el repositorio oficial, usando el flujo moderno con clave GPG (firma criptográfica que certifica que los paquetes proceden de Docker) firmada en /etc/apt/keyrings (el viejo apt-key add - está retirado y no funciona en 24.04).
Puntos clave
- Instalar siempre desde el repositorio oficial de Docker, no desde el de Ubuntu, así te aseguras la versión más reciente y el plugin de Compose v2 incluido.
- En Ubuntu 24.04 (Noble Numbat) el codename
noblese obtiene de/etc/os-release; el script lo inserta automáticamente en la línea del repositorio. - La clave GPG va en
/etc/apt/keyrings/docker.ascy se referencia consigned-by=en elsources.list.d. Es el único método admitido a partir de 22.04 y obligatorio en 24.04. - El daemon se gestiona con
systemctl; activarlo al arranque evita iniciarlo a mano tras cada reinicio. - Tras instalar, añade tu usuario al grupo
dockerpara no tener que anteponersudoa cada comando (con las implicaciones de seguridad que conlleva).
Pasos previos a la instalación
Actualiza el sistema y asegúrate de tener ca-certificates y curl (suelen venir ya instalados):
sudo apt update
sudo apt install -y ca-certificates curl
Si vienes de instalaciones antiguas con paquetes de Ubuntu o snaps, quítalos primero para evitar conflictos con docker-ce:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do
sudo apt remove -y "$pkg" 2>/dev/null || true
done
Añadir el repositorio oficial de Docker
Crea el directorio de keyrings y descarga la clave GPG 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
Añade el repositorio referenciando la clave por ruta (signed-by=). El codename de Ubuntu se lee de /etc/os-release; en 24.04 devuelve noble:
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
sudo apt update
Logotipo de Ubuntu 24.04 LTS (Noble Numbat), sistema operativo de referencia para esta instalación de Docker
Instalar el motor de Docker
Instala el paquete docker-ce (Docker Engine, edición Community) más los plugins habituales (Buildx y Compose v2 vienen como subcomandos de docker):
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Tras la instalación, docker compose (sin guion) ya funciona. El viejo binario standalone docker-compose queda obsoleto.
Configurar el daemon de Docker
El daemon de Docker (dockerd) gestiona contenedores, imágenes, redes y volúmenes. Su configuración vive en /etc/docker/daemon.json:
sudo nano /etc/docker/daemon.json
Opciones habituales:
"log-driver": cambia el motor de logs (por defectojson-file; en producción suele moverse ajournaldolocal)."default-address-pools": personaliza los rangos de IP para redes de contenedores cuando chocan con la LAN."data-root": mueve el directorio de datos a otra partición (útil cuando/var/lib/dockercrece).
Tras modificar el fichero, recarga el daemon:
sudo systemctl restart docker
Verificar la instalación
Comprueba la versión:
docker --version
docker compose version
Verifica que el daemon está activo y configurado para arrancar con el sistema:
sudo systemctl status docker
La salida debe mostrar active (running). Si no arranca automáticamente, actívalo:
sudo systemctl enable docker
Una primera prueba rápida:
sudo docker run --rm hello-world
Logotipo de Docker, motor de contenedores que aísla aplicaciones del entorno de ejecución
Añadir tu usuario al grupo docker
Por defecto, solo root y los miembros del grupo docker (un grupo del sistema que la instalación crea automáticamente y que da acceso al socket /var/run/docker.sock sin pasar por sudo) pueden hablar con el daemon. Añade tu usuario y aplica el cambio en la sesión actual:
sudo usermod -aG docker $USER
newgrp docker
Ejecuta docker run hello-world de nuevo, esta vez sin sudo, para confirmar que el cambio surtió efecto. Pertenecer al grupo docker equivale a tener privilegios de root sobre el equipo, así que no añadas usuarios en los que no confíes.
Con Docker instalado, los siguientes pasos naturales son orquestar aplicaciones multi-contenedor con Docker Compose (ya incluido como docker compose), o configurar Traefik (proxy inverso que enruta el tráfico entrante hacia el contenedor correcto según el dominio) para exponer servicios en internet. Para ejecutar modelos de lenguaje grandes en este mismo equipo, la guía de Ollama (herramienta que descarga y sirve LLMs de forma local con una API compatible con OpenAI) repasa el catálogo de modelos disponibles. Esta guía también está disponible en inglés.
Preguntas frecuentes
¿Necesito desinstalar Docker Desktop antes de instalar Docker Engine?
Sí, si usas Ubuntu como sistema de escritorio con Docker Desktop instalado, desinstálalo primero (sudo apt remove docker-desktop) para evitar dos daemons compitiendo por el mismo socket. En un servidor sin interfaz gráfica, Docker Desktop nunca está presente y este paso no aplica.
¿Por qué el comando docker falla con «permission denied» sin sudo?
Porque tu usuario todavía no pertenece al grupo docker, o la sesión no ha recargado los grupos tras añadirte. Ejecuta sudo usermod -aG docker $USER y luego newgrp docker (o cierra sesión y vuelve a entrar).
¿Qué diferencia hay entre Docker Engine y Docker Desktop?
Docker Engine es el motor de contenedores en sí (el daemon dockerd, el cliente de línea de comandos y el runtime), instalado directamente sobre Linux mediante el paquete docker-ce. Docker Desktop añade una interfaz gráfica y una máquina virtual ligera para usarlo en macOS o Windows; en un servidor Ubuntu no hace falta.
Conclusión
Instalar Docker desde el repositorio oficial en Ubuntu 24.04 LTS te deja con la versión estable más reciente, el plugin de Compose v2 ya integrado y el daemon listo en systemd. El flujo de apt-key está retirado en 24.04. El método con signed-by= apuntando a /etc/apt/keyrings/docker.asc es el único que sobrevive a una instalación limpia.
Fuentes: [1] Install Docker Engine on Ubuntu (Docker Docs)[2], [2] Linux post-installation steps for Docker Engine (Docker Docs)[3], [3] Ubuntu Server Documentation[4], [4] Registro de versiones de docker-ce en GitHub[5].