Skip to content

Manual de Instalación de Docker en Ubuntu ​

Introducción ​

Docker es una plataforma de código abierto que permite empaquetar, distribuir y ejecutar aplicaciones dentro de contenedores aislados. Este manual te guiará paso a paso en la instalación de Docker Engine en Ubuntu utilizando los repositorios oficiales de Docker.

Ventajas de usar los repositorios oficiales: ​

  • ✅ Versiones más actualizadas de Docker
  • ✅ Actualizaciones de seguridad más rápidas
  • ✅ Acceso a las últimas características
  • ✅ Soporte oficial de Docker Inc.

Requisitos Previos ​

Antes de comenzar, asegúrate de tener:

  • Sistema Operativo: Ubuntu 20.04 LTS, 22.04 LTS, 24.04 LTS o superior
  • Arquitectura: x86_64/amd64, armhf, arm64, o s390x
  • Privilegios: Acceso sudo o root
  • Conexión a Internet: Para descargar paquetes

Versiones de Ubuntu soportadas: ​

VersiónNombre en CódigoEstado
24.04 LTSNoble Numbat✅ Soportado
22.04 LTSJammy Jellyfish✅ Soportado
20.04 LTSFocal Fossa✅ Soportado

Verificación del Sistema ​

Antes de instalar Docker, verifica la información de tu sistema:

bash
# Verificar versión de Ubuntu
lsb_release -a

# Verificar nombre en código
lsb_release -cs

# Verificar arquitectura del sistema
dpkg --print-architecture

# Verificar versión del kernel
uname -r

Salida esperada:

Distributor ID: Ubuntu
Description:    Ubuntu 24.04 LTS
Release:        24.04
Codename:       noble

Desinstalación de Versiones Antiguas ​

Es importante eliminar versiones anteriores de Docker para evitar conflictos.

Paso 1: Eliminar paquetes conflictivos ​

bash
# Eliminar versiones antiguas de Docker
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do 
  sudo apt-get remove $pkg
done

Paso 2: Limpieza completa (opcional) ​

⚠️ ADVERTENCIA: Esto eliminará todos los contenedores, imágenes y volúmenes existentes.

bash
# Eliminar directorios de Docker
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Instalación de Docker ​

Paso 1: Actualizar el índice de paquetes ​

bash
sudo apt-get update

Paso 2: Instalar dependencias necesarias ​

bash
sudo apt-get install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Descripción de paquetes:

  • ca-certificates: Certificados de autoridades de certificación
  • curl: Herramienta para transferir datos con URLs
  • gnupg: Herramienta de cifrado y firmas
  • lsb-release: Información sobre la distribución Linux

Paso 3: Crear directorio para las claves GPG ​

bash
sudo install -m 0755 -d /etc/apt/keyrings

Paso 4: Descargar e instalar la clave GPG oficial de Docker ​

bash
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

¿Qué es la clave GPG? La clave GPG (GNU Privacy Guard) se usa para verificar la autenticidad de los paquetes de Docker, garantizando que provienen de una fuente confiable.

Paso 5: Añadir el repositorio oficial de Docker ​

bash
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

Desglose del comando:

  • arch=$(dpkg --print-architecture): Detecta automáticamente la arquitectura
  • signed-by=/etc/apt/keyrings/docker.asc: Especifica la clave GPG
  • $(. /etc/os-release && echo "$VERSION_CODENAME"): Detecta el nombre en código de Ubuntu
  • stable: Usa el canal estable de Docker

Paso 6: Actualizar el índice de paquetes nuevamente ​

bash
sudo apt-get update

Paso 7: Instalar Docker Engine y componentes ​

bash
sudo apt-get install -y \
    docker-ce \
    docker-ce-cli \
    containerd.io \
    docker-buildx-plugin \
    docker-compose-plugin

Componentes instalados:

  • docker-ce: Docker Community Edition (motor principal)
  • docker-ce-cli: Interfaz de línea de comandos de Docker
  • containerd.io: Runtime de contenedores
  • docker-buildx-plugin: Plugin para construcción avanzada de imágenes
  • docker-compose-plugin: Plugin de Docker Compose v2

Configuración Post-Instalación ​

Verificar que Docker se inició correctamente ​

bash
sudo systemctl status docker

Salida esperada:

● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled)
     Active: active (running) since Sat 2026-01-17 10:30:25 UTC

Habilitar Docker para que inicie con el sistema ​

bash
sudo systemctl enable docker
sudo systemctl enable containerd

Añadir usuario actual al grupo docker (recomendado) ​

Esto permite ejecutar comandos de Docker sin sudo:

bash
# Añadir tu usuario al grupo docker
sudo usermod -aG docker $USER

⚠️ IMPORTANTE: Debes cerrar sesión y volver a iniciarla para que los cambios surtan efecto.

Alternativa sin cerrar sesión:

bash
newgrp docker

O ejecutar:

bash
su - ${USER}

Verificar que el usuario fue añadido ​

bash
# Ver grupos del usuario
groups

# O específicamente verificar docker
id -nG | grep docker

Verificación de la Instalación ​

Paso 1: Verificar versión de Docker ​

bash
docker --version

Salida esperada:

Docker version 27.5.1, build 1234abc

Paso 2: Verificar información detallada del sistema ​

bash
docker version

Salida esperada:

Client: Docker Engine - Community
 Version:           27.5.1
 API version:       1.47
 Go version:        go1.22.5
 Git commit:        1234abc
 Built:             Thu Jan 16 10:30:00 2025
 OS/Arch:           linux/amd64

Server: Docker Engine - Community
 Engine:
  Version:          27.5.1
  API version:      1.47 (minimum version 1.24)
  Go version:       go1.22.5

Paso 3: Ejecutar contenedor de prueba ​

bash
docker run hello-world

Salida esperada:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
...
Status: Downloaded newer image for hello-world:latest

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

Paso 4: Verificar Docker Compose ​

bash
docker compose version

Salida esperada:

Docker Compose version v2.24.1

Paso 5: Ver información completa del sistema ​

bash
docker info

Esto muestra información detallada sobre:

  • Número de contenedores
  • Número de imágenes
  • Versión del kernel
  • Sistema operativo
  • Configuración de storage
  • Plugins instalados

Comandos Útiles ​

Gestión de contenedores ​

bash
# Listar contenedores en ejecución
docker ps

# Listar todos los contenedores (incluidos los detenidos)
docker ps -a

# Iniciar un contenedor
docker start <nombre_o_id>

# Detener un contenedor
docker stop <nombre_o_id>

# Reiniciar un contenedor
docker restart <nombre_o_id>

# Eliminar un contenedor
docker rm <nombre_o_id>

# Eliminar todos los contenedores detenidos
docker container prune

Gestión de imágenes ​

bash
# Listar imágenes
docker images

# Buscar imágenes en Docker Hub
docker search ubuntu

# Descargar una imagen
docker pull ubuntu:22.04

# Eliminar una imagen
docker rmi <nombre_o_id>

# Eliminar imágenes no utilizadas
docker image prune

Información del sistema ​

bash
# Ver uso de espacio
docker system df

# Ver estadísticas de recursos en tiempo real
docker stats

# Ver logs de un contenedor
docker logs <nombre_o_id>

# Ver logs en tiempo real
docker logs -f <nombre_o_id>

Limpieza del sistema ​

bash
# Limpiar todo (contenedores, redes, imágenes no usadas)
docker system prune

# Limpiar incluyendo volúmenes
docker system prune --volumes

# Limpiar todo (incluyendo imágenes en uso)
docker system prune -a --volumes

Solución de Problemas ​

Problema 1: Error de permisos al ejecutar docker ​

Error:

permission denied while trying to connect to the Docker daemon socket

Solución:

bash
# Verificar que estás en el grupo docker
groups

# Si no estás, añadirte al grupo
sudo usermod -aG docker $USER

# Cerrar sesión y volver a iniciar, o ejecutar:
newgrp docker

Problema 2: Docker no inicia después de la instalación ​

Solución:

bash
# Ver estado del servicio
sudo systemctl status docker

# Iniciar el servicio
sudo systemctl start docker

# Ver logs para diagnóstico
sudo journalctl -u docker.service -n 50 --no-pager

Problema 3: El repositorio de Docker no se encuentra ​

Error:

E: The repository 'https://download.docker.com/linux/ubuntu noble Release' does not have a Release file.

Solución:

bash
# Verificar que usaste el nombre en código correcto
lsb_release -cs

# Eliminar y volver a añadir el repositorio
sudo rm /etc/apt/sources.list.d/docker.list
# Repetir los pasos 4 y 5 de la instalación

Problema 4: Conflicto de puertos ​

Error:

Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use

Solución:

bash
# Ver qué proceso está usando el puerto
sudo netstat -tlnp | grep :80

# O usar ss
sudo ss -tlnp | grep :80

# Detener el servicio conflictivo o usar otro puerto
docker run -p 8080:80 nginx

Problema 5: Espacio en disco insuficiente ​

Solución:

bash
# Ver uso de espacio de Docker
docker system df

# Limpiar recursos no utilizados
docker system prune -a

# Ver qué consume más espacio
du -sh /var/lib/docker/*

Instalación de Versión Específica de Docker ​

Si necesitas instalar una versión específica de Docker:

Paso 1: Listar versiones disponibles ​

bash
apt-cache madison docker-ce

Salida:

docker-ce | 5:27.5.1-1~ubuntu.24.04~noble | https://download.docker.com/linux/ubuntu noble/stable amd64 Packages
docker-ce | 5:27.5.0-1~ubuntu.24.04~noble | https://download.docker.com/linux/ubuntu noble/stable amd64 Packages
docker-ce | 5:27.4.1-1~ubuntu.24.04~noble | https://download.docker.com/linux/ubuntu noble/stable amd64 Packages

Paso 2: Instalar versión específica ​

bash
# Formato: VERSION_STRING=5:VERSION-1~ubuntu.CODENAME~ARCHITECTURE
VERSION_STRING=5:27.5.0-1~ubuntu.24.04~noble

sudo apt-get install -y \
    docker-ce=$VERSION_STRING \
    docker-ce-cli=$VERSION_STRING \
    containerd.io \
    docker-buildx-plugin \
    docker-compose-plugin

Paso 3: Evitar actualizaciones automáticas (opcional) ​

bash
sudo apt-mark hold docker-ce docker-ce-cli

Para permitir actualizaciones nuevamente:

bash
sudo apt-mark unhold docker-ce docker-ce-cli

Desinstalación de Docker ​

Desinstalación completa ​

bash
# Paso 1: Desinstalar paquetes de Docker
sudo apt-get purge -y \
    docker-ce \
    docker-ce-cli \
    containerd.io \
    docker-buildx-plugin \
    docker-compose-plugin

# Paso 2: Eliminar directorios de datos
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

# Paso 3: Eliminar el repositorio de Docker
sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.asc

# Paso 4: Eliminar el grupo docker
sudo groupdel docker

# Paso 5: Actualizar repositorios
sudo apt-get update

Recursos Adicionales ​

Documentación oficial ​

Comunidad ​

Cursos y tutoriales ​

Comandos de Referencia Rápida ​

bash
# INSTALACIÓN
sudo apt-get update
sudo apt-get install 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
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# POST-INSTALACIÓN
sudo usermod -aG docker $USER
sudo systemctl enable docker

# VERIFICACIÓN
docker --version
docker run hello-world
docker compose version

Notas de Seguridad ​

Mejores prácticas ​

  1. No ejecutar contenedores como root cuando sea posible
  2. Usar imágenes oficiales verificadas de Docker Hub
  3. Mantener Docker actualizado regularmente
  4. Escanear imágenes en busca de vulnerabilidades
  5. Limitar recursos de contenedores (CPU, memoria)
  6. Usar redes privadas para contenedores
  7. No exponer el socket de Docker innecesariamente

Actualizar Docker ​

bash
# Actualizar todos los paquetes
sudo apt-get update
sudo apt-get upgrade docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Conclusión ​

Has completado exitosamente la instalación de Docker en Ubuntu usando los repositorios oficiales. Ahora estás listo para:

  • ✅ Crear y ejecutar contenedores
  • ✅ Construir imágenes personalizadas
  • ✅ Usar Docker Compose para aplicaciones multi-contenedor
  • ✅ Implementar soluciones de microservicios
  • ✅ Desarrollar aplicaciones en entornos consistentes

¡Feliz containerización! 🐳

Documento creado: Enero 2026
Versión: 1.0
Basado en: Documentación oficial de Docker
Compatible con: Ubuntu 20.04, 22.04, 24.04 LTS

Publicado bajo la licencia MIT.