- 1 1. Introducción
- 2 2. Prerrequisitos y preparación
- 3 3. Instalando Docker
- 4 4. Permisos de usuario y ejecución de Docker sin sudo
- 5 5. Verificación de inicio y operación
- 6 6. Instalación y uso de Docker Compose
- 6.1 6-1. Verificando la instalación de Docker Compose V2
- 6.2 6-2. Beneficios de Docker Compose
- 6.3 6-3. Estructura básica de un archivo de configuración de Compose
- 6.4 6-4. Ejemplo: Configuración multi‑contenedor (Web + Base de datos)
- 6.5 6-5. Comandos de Docker Compose de uso frecuente
- 6.6 6-6. Casos de uso recomendados de Compose en desarrollo
- 7 7. Consideraciones de seguridad y operativas
- 7.1 7-1. El grupo docker tiene privilegios de “root efectivo”
- 7.2 ● Puntos clave a tener en cuenta
- 7.3 7-2. Considerar Docker sin root (opción avanzada)
- 7.4 7-3. Limpieza de imágenes y contenedores no usados
- 7.5 7-4. Evitar usar la etiqueta “latest” en producción
- 7.6 7-5. Usar imágenes base oficiales en Dockerfiles
- 7.7 7-6. Tener cuidado con la exposición de red y puertos
- 7.8 7-7. Gestión de logs durante fallos
- 8 8. Problemas comunes y solución de errores
1. Introducción
Al configurar un entorno de desarrollo en Ubuntu, cada vez es más frecuente encontrarse con la situación de pensar “por ahora instalemos Docker”. Aplicaciones web, procesamiento por lotes, bases de datos de prueba, middleware de prueba… Si instalas todo esto manualmente cada vez, se consume una enorme cantidad de tiempo y esfuerzo solo en la preparación del entorno.
Aquí es donde la tecnología de virtualización mediante contenedores Docker resulta extremadamente útil. Con Docker puedes gestionar no solo la aplicación en sí, sino también todas las bibliotecas y configuraciones necesarias como una “imagen”. Una vez Docker está instalado en Ubuntu, puedes fácilmente:
- Lanzar un nuevo entorno de desarrollo en minutos
- Garantizar que todos los miembros del equipo reproduzcan el comportamiento en el mismo entorno
- Recrear localmente una configuración similar a producción con facilidad
Estos beneficios se obtienen con un esfuerzo mínimo.
Por otro lado, para quienes usan Docker por primera vez, existen muchos puntos de tropiezo comunes:
- No saber cuál procedimiento de instalación es realmente correcto
- No entender la diferencia entre el repositorio predeterminado de Ubuntu y el repositorio oficial de Docker
- Encontrarse con errores de permisos por confusión sobre cuándo usar
sudo
Cuando buscas “ubuntu install docker”, encuentras numerosos artículos que enumeran largas secuencias de comandos, pero a menudo no explican por qué esos pasos son necesarios o qué constituye una instalación completa.
1-1. Objetivo de este artículo
Este artículo está dirigido a lectores que desean instalar Docker en Ubuntu y cubre los siguientes puntos clave:
- El procedimiento actualmente más común para instalar Docker en Ubuntu
- Un método de instalación más manejable usando el repositorio oficial
- Cómo ejecutar el comando
dockersinsudo - Verificación posterior a la instalación y comandos básicos esenciales
- Una introducción a herramientas de uso frecuente como Docker Compose
En lugar de limitarse a listar comandos, esta guía explica por qué cada paso es necesario, ayudándote a mantener tu entorno de forma más sencilla en el futuro.
1-2. Público objetivo y prerrequisitos
Este artículo está pensado para lectores que:
- Comprenden operaciones básicas de Ubuntu (abrir una terminal, usar el comando
apt, etc.) - Son desarrolladores o ingenieros en formación que prueban Docker por primera vez
- Están considerando migrar entornos de prueba existentes a contenedores
No se requiere conocimiento avanzado de administración de Linux. Mientras te sientas cómodo escribiendo comandos en una terminal, esta guía será suficiente.
1-3. Estructura del artículo y cómo leerlo
El artículo se desarrolla en el siguiente orden:
- Verificación de prerrequisitos
- Métodos de instalación (repositorio oficial / basado en script)
- Configuración de permisos y verificación
- Instalación de Docker Compose
- Solución de problemas y pasos siguientes
Puedes leer el artículo de principio a fin, o si Docker ya está instalado, enfocarte únicamente en las secciones “Permisos” o “Compose”.
2. Prerrequisitos y preparación
Instalar Docker en sí es relativamente sencillo, pero según la versión de Ubuntu o el entorno existente, hay varios aspectos que conviene revisar con antelación. Esta sección resume los prerrequisitos y preparativos necesarios para una instalación sin contratiempos.
2-1. Versiones de Ubuntu compatibles
Docker funciona en muchas versiones de Ubuntu, pero los siguientes lanzamientos LTS son los más utilizados:
- Ubuntu 22.04 LTS (Recomendado)
- Ubuntu 20.04 LTS
- Ubuntu 24.04 LTS (Más reciente)
Los lanzamientos LTS (Long Term Support) ofrecen estabilidad a largo plazo, lo que los hace ideales para mantener entornos de desarrollo basados en Docker.
Los lanzamientos no LTS (como 23.10) también pueden usarse, pero en entornos profesionales se prefiere generalmente la versión LTS.
2-2. Paquetes de Docker preinstalados
Ubuntu’s default repository includes a package called docker.io. However, this is not the official Docker package provided by Docker Inc., and updates tend to lag behind. Therefore, installing Docker from the official repository is strongly recommended.
First, check and remove any existing Docker-related packages if necessary:
sudo apt remove docker docker.io containerd runc
If the message indicates that nothing is installed, no action is required.
2-3. Actualizando APT e Instalando Paquetes Requeridos
Before adding Docker’s official repository, update APT and install required tools:
sudo apt update
sudo apt install -y ca-certificates curl gnupg
These tools are required to add Docker’s GPG key and repository securely.
2-4. Verificando Privilegios de Administrador (sudo)
Docker installation requires sudo privileges. If your account does not have sudo access, switch to an administrator account or request permission.
You can verify sudo access with the following command:
sudo -v
If you are prompted for a password and the command succeeds, you are ready to proceed.
2-5. Verificando la Conectividad de Red
Installing Docker requires access to external repositories, so an active internet connection is mandatory. In corporate or proxy environments, GPG key retrieval may fail due to access restrictions.
In such cases, consult your network administrator regarding proxy settings or allowlist configurations.
2-6. Eligiendo el Método de Instalación
There are three main ways to install Docker:
- Instalar mediante el repositorio oficial de Docker (Recomendado)
- Use the
get.docker.cominstallation script (Quick and easy) → Usar el script de instalaciónget.docker.com(Rápido y fácil) - Manually download and install Docker .deb packages (Special cases) → Descargar manualmente e instalar paquetes .deb de Docker (Casos especiales)
This article focuses primarily on the official repository method, which is the most common and easiest to maintain.
3. Instalando Docker
Now let’s install Docker on Ubuntu. Although multiple installation methods exist, this guide focuses on the official Docker repository method, which is the most reliable and widely used in production environments.
This method allows stable upgrades via apt upgrade, making it ideal for long-term use.
3-1. Añadiendo el Repositorio Oficial de Docker (Recomendado)
First, register the official GPG key provided by Docker and add Docker’s repository to APT.
Once this is configured correctly, you can avoid accidentally installing the outdated docker.io package from Ubuntu’s default repository.
3-1-1. Registrando la Clave GPG
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
/etc/apt/keyrings/es la ubicación recomendada para almacenar claves en Ubuntu 22.04 y posteriores--dearmorconvierte la clave a formato binario
This step allows APT to trust the official Docker repository.
3-1-2. Añadiendo el Repositorio
Next, add Docker’s repository to APT’s source list.
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Puntos clave:
$(. /etc/os-release && echo $VERSION_CODENAME)inserta automáticamente el nombre en clave correcto de Ubuntu (comojammyofocal)- Only the stable repository is added → Solo se añade el repositorio estable
3-1-3. Actualizando la Información del Repositorio
After adding the repository, update the APT index.
sudo apt update
At this point, docker-ce (Docker Engine) should appear as an installable package.
3-2. Instalando Docker Engine
Now install the main Docker packages.
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Package roles:
- docker-ce : Núcleo del motor Docker
- docker-ce-cli : Interfaz de línea de comandos de Docker
- containerd.io : Runtime de contenedores principal usado por Docker
- docker-buildx-plugin : Funciones avanzadas de compilación, como compilaciones multiplataforma
- docker-compose-plugin : Docker Compose V2 (comando
docker compose)
Después de la instalación, el daemon de Docker se inicia automáticamente.
3-3. Verificando la instalación
Comprueba el estado del runtime de Docker con el siguiente comando:
sudo systemctl status docker
Si ves active (running), Docker está funcionando correctamente.
Presiona q para salir de la vista de estado.
3-4. Opcional: Instalación mediante script para mayor comodidad
Docker también ofrece un script de instalación todo‑en‑uno.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Ventajas:
- Menos comandos y configuración rápida
- Ideal para entornos simples o desechables
Desventajas:
- Control de versiones más difícil
- A menudo desaconsejado para producción o uso a largo plazo
Aunque resulta cómodo para principiantes, este artículo prioriza la mantenibilidad y, por lo tanto, se centra en el método del repositorio oficial.
3-5. Notas para las últimas versiones de Ubuntu (p. ej., 24.04)
Inmediatamente después de un lanzamiento mayor de Ubuntu, el repositorio oficial de Docker puede no soportar aún la nueva versión.
En esos casos, verifica lo siguiente:
- Que la ubicación y el formato de la clave GPG coincidan con las especificaciones actuales
- Que
VERSION_CODENAMEesté oficialmente soportado - Que no aparezcan errores de firma durante
apt update
Si el soporte se retrasa, usar temporalmente el script get.docker.com puede ser una solución práctica.
4. Permisos de usuario y ejecución de Docker sin sudo
Después de instalar Docker, quizá quieras comenzar a usar el comando docker de inmediato. Sin embargo, por defecto, debes anteponer sudo a cada comando.
Este comportamiento es intencional por razones de seguridad, pero resulta incómodo para el desarrollo diario o el aprendizaje. Para solucionarlo, puedes añadir tu usuario al grupo docker, lo que permite ejecutar los comandos de Docker sin sudo.
4-1. Por qué importa ejecutar sin sudo
En Ubuntu, el daemon de Docker (dockerd) se ejecuta con privilegios de root.
Por lo tanto, crear o eliminar contenedores mediante el comando docker normalmente requiere acceso root.
El grupo docker existe para manejar este requisito.
- Los usuarios de este grupo pueden acceder directamente al daemon de Docker
- Esto permite comandos como
docker runsinsudo - Esta configuración es casi esencial para el uso en desarrollo
Ten en cuenta que el grupo docker otorga privilegios prácticamente equivalentes a los de root, por lo que se requiere precaución en entornos compartidos.
(En escritorios personales o WSL2, generalmente no es un problema.)
4-2. Añadiendo tu usuario al grupo docker
Añade el usuario actualmente conectado al grupo docker:
sudo usermod -aG docker $USER
Este comando agrega al usuario al grupo. La opción -aG significa añadir al grupo.
4-3. Aplicando los cambios
Los cambios de pertenencia al grupo se hacen efectivos después de cerrar sesión y volver a iniciarla.
Para aplicar el cambio de inmediato, también puedes ejecutar:
newgrp docker
Esto inicia una nueva sesión de shell con los permisos del grupo docker aplicados.
4-4. Verificando la ejecución sin sudo
Ahora prueba Docker sin sudo:
docker run hello-world
Salida exitosa:
- ¡Hola desde Docker!
- La imagen se descarga y se muestra el mensaje
Si ocurre un error, revisa lo siguiente:
- ¿Has cerrado sesión y vuelto a iniciarla después de modificar la pertenencia al grupo?
- ¿Se está usando
/usr/bin/docker? - ¿El daemon de Docker está en ejecución (
systemctl status docker)?
4-5. Consideraciones de seguridad (Importante)
El grupo docker otorga privilegios poderosos que son efectivamente equivalentes al acceso root.
- Lectura de archivos arbitrarios
- Montaje de directorios del host dentro de contenedores
- Realización de operaciones de red
- Control a nivel de sistema mediante el socket de Docker
Esto es aceptable para sistemas personales, pero la gestión de usuarios es crítica en servidores compartidos.
En tales casos, puede considerar Docker sin root, que se trata en secciones posteriores.
5. Verificación de inicio y operación
Una vez completada la instalación de Docker y la configuración de permisos, el siguiente paso es verificar que Docker funciona correctamente. Esta sección explica cómo comprobar el estado del servicio Docker y ejecutar contenedores.
5-1. Comprobando el estado del daemon de Docker
Primero, verifique que Docker se esté ejecutando correctamente en segundo plano.
sudo systemctl status docker
Indicadores clave de estado:
- active (running) → Operando normalmente
- inactive → No está en ejecución (debe iniciarse manualmente)
- failed → Error de configuración o dependencia
Si el estado es inactive o failed, inicie Docker con el siguiente comando:
sudo systemctl start docker
Para asegurarse de que Docker se inicie automáticamente al arrancar el sistema operativo:
sudo systemctl enable docker
5-2. Verificando la operación con el contenedor hello-world
La forma más común de verificar la instalación de Docker es ejecutando la imagen oficial hello-world.
docker run hello-world
Este comando realiza las siguientes acciones:
- Descarga la imagen de Docker Hub si no está presente localmente
- Inicia un contenedor a partir de la imagen
- Muestra un mensaje de prueba y finaliza
Si tiene éxito, verá una salida similar a la siguiente:
Hello from Docker!
This message shows that your installation appears to be working correctly.
Si aparece este mensaje, Docker está instalado y funciona correctamente.
5-3. Probando comandos básicos de Docker
Una vez confirmada la operación básica, pruebe algunos comandos de Docker de uso frecuente.
5-3-1. Listando imágenes de Docker
docker images
Esto muestra una lista de imágenes descargadas localmente. Si aparece hello-world, todo funciona como se espera.
5-3-2. Verificando contenedores en ejecución
docker ps
Este comando lista los contenedores que se están ejecutando actualmente. (El contenedor hello-world finaliza inmediatamente y normalmente no aparecerá.)
Para mostrar también los contenedores detenidos:
docker ps -a
5-3-3. Ejecutando un ejemplo con una imagen oficial
Para probar un servidor web Nginx sencillo:
docker run -d -p 8080:80 nginx
-d→ Ejecutar en segundo plano-p→ Mapear el puerto 8080 del host al puerto 80 del contenedor
Abra http://localhost:8080 en su navegador para ver la página predeterminada de Nginx.
5-4. Deteniendo y eliminando contenedores
Puede detener un contenedor en ejecución usando el siguiente comando:
docker stop <container-id>
Para eliminar un contenedor:
docker rm <container-id>
Para eliminar imágenes no usadas:
docker rmi <image-id>
Recuerde que las dependencias siguen el orden contenedor → imagen → volumen, así que elimínelas con cuidado.
5-5. Causas comunes de errores
● Errores de permisos
Got permission denied while trying to connect to the Docker daemon socket → El usuario no está añadido al grupo docker
● Daemon de Docker no está en ejecución
Cannot connect to the Docker daemon at unix:///var/run/docker.sock → Inicie Docker con systemctl start docker
● Problemas de red que impiden la descarga de imágenes
→ Verifique la configuración del proxy, la configuración DNS o las restricciones de red
● Paquete legacy docker.io todavía instalado
→ Desinstálelo completamente y reinstale Docker desde el repositorio oficial
6. Instalación y uso de Docker Compose
Una herramienta esencial para trabajar con Docker a gran escala es Docker Compose. Las aplicaciones web modernas a menudo constan de múltiples componentes como bases de datos, cachés, workers y servidores web. Gestionar estos individualmente con comandos docker run rápidamente se vuelve poco práctico.
Docker Compose le permite definir múltiples configuraciones de contenedores en un solo archivo y gestionarlos juntos, lo que lo convierte en una de las herramientas más utilizadas en el desarrollo real.
6-1. Verificando la instalación de Docker Compose V2
Al instalar Docker desde el repositorio oficial, Docker Compose se instala automáticamente como un complemento.
Verifique la instalación con el siguiente comando:
docker compose version
Si está instalado correctamente, debería ver una salida similar a:
Docker Compose version v2.x.x
Si ve un error como docker: 'compose' is not a docker command, instale el complemento manualmente:
sudo apt install docker-compose-plugin
6-2. Beneficios de Docker Compose
Las principales ventajas de Docker Compose incluyen:
- Gestión unificada de múltiples contenedores (iniciar, detener, reiniciar)
- Configuración como código, garantizando entornos reproducibles
- Compartir fácilmente configuraciones de aplicaciones, API y bases de datos
- Lanzar entornos de desarrollo con un solo
docker compose up
Esto hace que Docker Compose sea casi indispensable para el desarrollo de aplicaciones.
6-3. Estructura básica de un archivo de configuración de Compose
Docker Compose utiliza un archivo llamado docker-compose.yml (o compose.yaml) para definir servicios.
Como ejemplo mínimo, cree una configuración sencilla que inicie Nginx.
services:
web:
image: nginx:latest
ports:
- "8080:80"
Ejecute el siguiente comando en el directorio que contiene el archivo:
docker compose up -d
Nginx se iniciará en segundo plano. Acceda a http://localhost:8080 en su navegador para confirmar.
6-4. Ejemplo: Configuración multi‑contenedor (Web + Base de datos)
El verdadero poder de Compose se hace evidente al gestionar múltiples contenedores simultáneamente.
Por ejemplo, ejecutar una aplicación web junto con MySQL puede configurarse de la siguiente manera:
services:
app:
build: .
ports:
- "3000:3000"
depends_on:
- db
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: example
volumes:
- db-data:/var/lib/mysql
volumes:
db-data:
Explicación:
depends_ongarantiza que la base de datos se inicie antes que la aplicaciónvolumespersiste los datos de la base de datos- Múltiples servicios se gestionan dentro de un único archivo YAML
Este es un patrón muy práctico para entornos de desarrollo.
6-5. Comandos de Docker Compose de uso frecuente
Estos comandos son útiles de memorizar:
| Command | Description |
|---|---|
docker compose up -d | Start containers in the background |
docker compose down | Stop and remove containers and networks |
docker compose build | Build images using Dockerfile |
docker compose ps | List containers managed by Compose |
docker compose logs -f | View logs (optionally per service) |
Usar Compose le permite recrear entornos idénticos de forma repetida, lo que lo hace ideal para el desarrollo en equipo.
6-6. Casos de uso recomendados de Compose en desarrollo
- Configuración de entorno local con un solo comando
- Pruebas en entornos cercanos a producción
- Lanzar servicios combinados como bases de datos, cachés y colas de mensajes
- Persistir datos con volúmenes
- Gestionar la configuración con variables de entorno en
.env - Soportar arquitecturas de microservicios complejas
Una vez que se sienta cómodo con Docker y Compose, el tiempo de configuración del entorno se reduce drásticamente, mejorando significativamente la eficiencia del desarrollo.
7. Consideraciones de seguridad y operativas
Docker es una herramienta extremadamente poderosa y conveniente, pero “estar containerizado” no significa automáticamente “seguro”.
Al usar Docker de forma regular en Ubuntu, hay varios puntos importantes de seguridad y operativos que debe comprender.
Esta sección organiza el conocimiento esencial para operar Docker de forma segura y estable, de manera que sea fácil de entender incluso para principiantes.
7-1. El grupo docker tiene privilegios de “root efectivo”
El grupo docker configurado anteriormente otorga privilegios muy fuertes.
Los usuarios que pertenecen al grupo docker pueden operar el SO anfitrión a través del socket de Docker, lo que equivale efectivamente a acceso de nivel root.
● Puntos clave a tener en cuenta
- No añada usuarios arbitrarios al grupo docker en servidores compartidos
- Comprenda las implicaciones, no solo la comodidad de “no se requiere sudo”
- En organizaciones con políticas de seguridad estrictas, puede ser necesario contar con la aprobación del administrador
.Esto rara vez es un problema en máquinas Ubuntu personales o en PCs de desarrollo, pero se requiere un juicio cuidadoso en servidores de producción.
7-2. Considerar Docker sin root (opción avanzada)
Docker ofrece una característica llamada modo sin root,
que permite que el daemon de Docker se ejecute bajo una cuenta de usuario normal en lugar de root.
Ventajas:
- Reduce significativamente el riesgo de privilegios del SO anfitrión
- Permite un uso más seguro de Docker en entornos con requisitos de seguridad estrictos
Desventajas:
- Algunas funciones de red están restringidas
- La configuración es más compleja para principiantes
- El comportamiento puede diferir del Docker estándar
El modo sin root no es necesario para la mayoría de los casos de uso en desarrollo,
pero puede ser una opción viable en entornos empresariales o con foco en cumplimiento.
7-3. Limpieza de imágenes y contenedores no usados
Con el tiempo, Docker puede consumir una gran cantidad de espacio en disco sin que te des cuenta.
Los contenedores, imágenes y volúmenes no usados pueden acumularse y superar fácilmente los 100 GB.

● Comandos para eliminar recursos no usados
Eliminación de imágenes no usadas
docker image prune
Eliminación conjunta de contenedores y redes
docker system prune
Limpieza agresiva (usar con precaución)
docker system prune -a
La opción -a elimina todas las imágenes no usadas, así que úsala con cuidado.
7-4. Evitar usar la etiqueta “latest” en producción
Aunque etiquetas como nginx:latest son convenientes durante el desarrollo, no se recomiendan para uso en producción.
Razones:
- La versión exacta detrás de
latestno está garantizada - Actualizaciones inesperadas pueden causar fallos en tiempo de ejecución
- La pérdida de reproducibilidad conduce a despliegues inestables
Enfoque recomendado: fijar versiones explícitamente
Ejemplo:
image: nginx:1.25
Versionar explícitamente es una regla fundamental para entornos de producción.
7-5. Usar imágenes base oficiales en Dockerfiles
Al crear Dockerfiles, sigue estas directrices:
- Preferir imágenes oficiales (imágenes de biblioteca)
- Evitar imágenes mantenidas por autores desconocidos o no confiables
- Cuando uses imágenes de SO ligeras como Alpine, verifica el estado de soporte de vulnerabilidades
Las imágenes no confiables pueden contener malware.
Incluso en entornos de desarrollo, evítalas siempre que sea posible.
7-6. Tener cuidado con la exposición de red y puertos
Cuando los contenedores exponen puertos en el SO anfitrión,
pueden volverse accesibles desde fuera del sistema.
Precauciones:
- Evitar mapeos innecesarios
-p 80:80 - Para uso local, enlazar solo a localhost, p. ej.
-p 127.0.0.1:8080:80 - Combinar con configuraciones de firewall como UFW
- En producción, usar un proxy inverso (como Nginx) para mayor seguridad
La gestión de puertos es especialmente crítica en VPS o servidores Ubuntu basados en la nube.
7-7. Gestión de logs durante fallos
Los logs de Docker pueden verse con el siguiente comando:
docker logs <container-name>
Grandes volúmenes de logs pueden consumir espacio en disco rápidamente,
por lo que considera configurar controladores de logs y rotación de logs.
8. Problemas comunes y solución de errores
Aunque Docker es una herramienta poderosa, pueden ocurrir errores inesperados en Ubuntu debido a diferencias de entorno o configuraciones incorrectas.
Esta sección resume problemas comunes y sus soluciones, desde nivel principiante hasta intermedio.
8-1. No se puede conectar al daemon de Docker
● Mensaje de error
Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
● Causas y soluciones
- El daemon de Docker no está en ejecución:
sudo systemctl start docker - Los cambios del grupo docker no se han aplicado: Cierra sesión y vuelve a iniciarla, o ejecuta
newgrp docker - Problema de permisos con /var/run/docker.sock: Asegúrate de que el usuario pertenezca al grupo docker
8-2. Errores de “Permiso denegado”
● Error típico
Got permission denied while trying to connect to the Docker daemon socket
● Solución
La causa casi siempre es la falta de configuración del grupo docker.
sudo usermod -aG docker $USER
Luego cierra sesión y vuelve a iniciarla.
.### 8-3. Errores de GPG al agregar el repositorio APT
● Ejemplos de error
NO_PUBKEY XXXXXXXX
o
The following signatures couldn't be verified
● Causas y soluciones
- La clave GPG no se registró correctamente
- curl falló debido a restricciones de red
Vuelva a registrar la clave con:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Luego ejecute sudo apt update nuevamente.
8-4. Conflictos de asignación de puertos
● Ejemplo de error
Bind for 0.0.0.0:80 failed: port is already allocated.
● Causa
- El puerto ya está en uso por otro proceso en el host
- Otro contenedor Docker está usando el mismo puerto
● Soluciones
Compruebe qué proceso está usando el puerto:
sudo lsof -i -P -n | grep :80
Revise los contenedores en ejecución:
docker ps
Modifique la asignación de puertos:
-p 8080:80
8-5. Fallos al descargar imágenes
● Causas comunes
- Restricciones de red (entornos corporativos)
- Problemas de configuración DNS
- Acceso bloqueado a Docker Hub
● Soluciones
- Cambiar los servidores DNS (p. ej., 1.1.1.1 o 8.8.8.8)
- Verificar la configuración del proxy
- Utilizar una VPN si el entorno lo requiere
8-6. Errores por agotamiento de espacio en disco
● Mensaje típico
no space left on device
● Resolución
Eliminar recursos no utilizados:
docker system prune -a
Revisar imágenes, contenedores y volúmenes:
docker images
docker ps -a
docker volume ls
El agotamiento de espacio en disco es uno de los problemas operativos más comunes en Docker.


