Instalar Docker en Ubuntu: guía segura paso a paso

Para instalar Docker en Ubuntu puedes utilizar el repositorio oficial del proyecto e instalar Docker Engine junto con el plugin de Compose. Primero verifica que tu versión y arquitectura estén soportadas y que no haya una instalación anterior con paquetes incompatibles.
Los siguientes pasos están pensados para un laboratorio con Ubuntu 24.04 y un usuario con sudo. Son instrucciones de referencia: revisa cambios vigentes de la documentación y no las confundas con una prueba realizada en tu servidor.
Revisa el sistema y los paquetes existentes
Antes de modificar un equipo, identifica su versión, arquitectura y uso. En un servidor que ya tiene contenedores, registra volúmenes, redes y servicios; desinstalar paquetes sin entender su origen puede interrumpir otras aplicaciones.
cat /etc/os-release
dpkg --print-architecture
dpkg -l | grep -E 'docker|containerd|runc'
La documentación oficial enumera los paquetes que pueden entrar en conflicto. No elimines containerd o runc automáticamente si otra plataforma depende de ellos. En una instalación limpia esa comprobación ayuda a confirmar el punto de partida.
Añade la clave y el repositorio oficial
Actualiza el índice de paquetes e instala las herramientas necesarias. No hace falta aplicar una actualización completa del sistema con aceptación automática para añadir este repositorio; el mantenimiento general debe planearse por separado.
sudo apt update
sudo apt 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
. /etc/os-release
sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: ${UBUNTU_CODENAME:-$VERSION_CODENAME}
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
El archivo indica de dónde obtener paquetes y con qué clave verificarlos. Confirma que la distribución identificada sea Ubuntu; este repositorio no debe copiarse sin cambios a Debian u otras distribuciones.
Instala Engine y Compose
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
sudo systemctl status docker --no-pager
sudo docker version
sudo docker compose version
sudo docker run --rm hello-world
La última instrucción descarga y ejecuta una imagen de comprobación. Si falla la descarga, separa problemas de DNS, proxy, conexión o registro de un problema con el daemon. La sección Client de docker version puede aparecer aunque el servidor no sea accesible.
Decide cómo administrar los permisos
Usar sudo de forma explícita es una opción válida. Añadir una cuenta al grupo docker permite controlar un daemon que habitualmente tiene privilegios elevados; no debe recomendarse como un simple ajuste de comodidad.
Si eliges ese grupo, limita la pertenencia a usuarios de confianza y vuelve a iniciar sesión para aplicar el cambio. Para necesidades distintas, consulta el modo rootless y sus requisitos. Cambiar permisos del socket a escritura global no es una solución aceptable.
Publica puertos con una intención clara
En un laboratorio, publicar un servicio en 127.0.0.1 limita su acceso directo al host. En cambio, una publicación sin dirección suele escuchar en interfaces externas según la configuración del equipo.
sudo docker run --rm -d --name web-prueba \
-p 127.0.0.1:8080:80 nginx:stable-alpine
curl -I http://127.0.0.1:8080
sudo docker stop web-prueba
Docker administra reglas de red y sus puertos publicados pueden eludir reglas UFW. Revisa también el firewall del proveedor y comprueba desde otra máquina qué queda accesible; una regla escrita no demuestra que la restricción esté funcionando.
Errores que conviene investigar
Si aparece permission denied, revisa tu decisión de privilegios en vez de hacer el socket público. Si el puerto está ocupado, busca el servicio responsable antes de detenerlo. Si falta Compose, confirma que instalaste el plugin y utiliza docker compose, con espacio.
Para actualizar, revisa notas de versión, conserva respaldos de los datos persistentes y ensaya la recuperación. Una imagen de aplicación y el paquete Docker Engine tienen ciclos de actualización diferentes.
Preguntas frecuentes
¿Debo usar el paquete docker.io de Ubuntu?
Es una alternativa de la distribución. Esta guía elige los paquetes oficiales de Docker; evita mezclar ambos métodos sin revisar conflictos y entender quién mantiene cada paquete.
¿Docker instalado significa que mis datos están respaldados?
No. Los datos de un contenedor pueden desaparecer al recrearlo si no tienen persistencia adecuada. Un volumen tampoco sustituye una copia externa ni una prueba de restauración.
¿Puedo ejecutar todos los comandos sin sudo?
Depende de la configuración. El grupo docker y el modo rootless son opciones con implicaciones distintas; elige una conscientemente y verifica sus permisos y limitaciones.
En pocas palabras
Docker Engine y el plugin Compose pueden instalarse desde el repositorio oficial. Verificar una imagen de prueba es solo el inicio: también debes decidir quién controla el daemon y qué servicios quedan accesibles.
Conclusión
Conserva la configuración del repositorio y registra las versiones que instales. Empieza con servicios ligados a tu equipo, añade persistencia cuando la necesites y revisa la documentación antes de actualizar un entorno importante.
Para continuar, revisa Docker: qué es y cómo usarlo para ejecutar contenedores y Cómo instalar Docker en Ubuntu 24.04: guía práctica paso a paso.

Deja un comentario