Some of the links shared in this post are affiliate links. If you click on the link and make a purchase, we will receive an affiliate commission at no additional cost to you.
A menudo se producen varios errores al ejecutar o iniciar contenedores Docker. Estos errores pueden estar causados por configuraciones incorrectas, dependencias que faltan, problemas de red o imágenes Docker defectuosas. Aquí tienes los errores más comunes y sus posibles soluciones:
1. imagen no encontrada
- Descripción: El nombre de la imagen o la etiqueta especificados son incorrectos o no existen en el registro de Docker.
- Mensaje de error
: Respuesta de error del demonio: acceso pull denegado para <imagen>, el repositorio no existe o puede requerir 'docker login'.
- Solución: Asegúrate de que el nombre de la imagen es correcto, incluyendo la etiqueta correcta (por ejemplo,
nginx:latest
). Si se trata de una imagen privada,inicia
sesión condocker login
.
2. puerto ya utilizado
- Descripción: El puerto host especificado ya está ocupado por otro proceso o contenedor.
- Mensaje de error
: Respuesta de error del demonio: Error del controlador al programar la conectividad externa en el punto final <nombre_del_contenedor>: Error al enlazar 0.0.0.0:<puerto>: el puerto ya está asignado.
- Solución: Comprueba qué proceso está utilizando el puerto ejecutando el comando
sudo lsof -i :<puerto>
y cambia el puerto del proceso en ejecución o el del nuevo contenedor.
3er Contenedor Salido Inmediatamente Después de Arrancar
- Descripción: El contenedor se inicia, pero el proceso principal finaliza inmediatamente.
- Mensaje de error:
Salió (0)
oSalió (1)
- Solución: Comprueba el registro del contenedor Docker con
docker logs <nombre_del_contenedor>
para ver qué ha fallado. Posiblemente falta una variable de entorno o una dependencia. Asegúrate de que elcomando
CMD
oENTRYPOINT
definido en el archivo Dockerfile es correcto.
4. error de permiso denegado
- Descripción: El contenedor o el sistema anfitrión no tienen las autorizaciones necesarias para una acción.
- Mensaje de error
: permiso denegado, EACCES: permiso denegado, mkdir
- Solución: Asegúrate de que los permisos del sistema de archivos están configurados correctamente. Utiliza
sudo chown
ochmod
para configurar los permisos. Establecelos indicadores
--privilegiado
o--usuario
en Docker sólo como último recurso.
5 No se puede conectar al demonio Docker
- Descripción: El cliente Docker no puede conectarse al demonio Docker.
- Mensaje de error:
No se puede conectar al demonio Docker en unix:///var/run/docker.sock. ¿Se está ejecutando el demonio Docker?
- Solución: Asegúrate de que Docker está instalado y de que se ha iniciado el demonio Docker. Utiliza
sudo systemctl start docker
osudo service docker start
. Comprueba las autorizaciones para el socket Docker.
6. problemas de conectividad de la red
- Descripción: Los contenedores no pueden conectarse a redes externas o al host.
- Mensaje de error:
No se ha podido resolver el host
,no se ha encontrado la red
- Solución: Asegúrate de que la red está definida correctamente. Comprueba la configuración de red en
docker-compose.yml
o utilizadocker network ls
para asegurarte de que la red necesaria está disponible.
7. errores de montaje de volumen
- Descripción: Error al aprovisionar volúmenes porque las rutas son incorrectas o no existen.
- Mensaje de error
: Respuesta de error del demonio: configuración de montaje no válida para el tipo "bind": la ruta de origen de bind no existe
- Solución: Comprueba si la ruta del host existe y está formateada correctamente. Presta atención a la ruta absoluta y a que empiece por
/
.
8. fuera de memoria (OOM)
- Descripción: El contenedor o host se queda sin memoria debido a restricciones de recursos o a aplicaciones que consumen mucha memoria.
- Mensaje de error:
Killed
orOOMKilled
- Solución: Asigna más memoria o limita el consumo de memoria del contenedor con
la bandera --memory
(por ejemplo,--memory="1g"
). Comprueba la memoria del host confree -m
.
9º Problemas de configuración del demonio Docker
- Descripción: Una configuración incorrecta del demonio Docker puede impedir que se ejecuten los contenedores.
- Mensaje de error: Varios, dependiendo del error de configuración.
- Solución: Comprueba y edita el archivo de configuración
/etc/docker/daemon.json
. Utilizadocker info
ydocker logs
para realizar diagnósticos adicionales. Reinicia el demonio consudo systemctl restart docker
.
10 Error de conflicto
- Descripción: Conflicto debido a un contenedor o imagen existente con el mismo nombre o etiqueta.
- Mensaje de error:
Conflicto: El nombre de contenedor "/<nombre_contenedor>" ya está siendo utilizado por el contenedor "<id_contenedor>"
- Solución: Elimina el contenedor existente o cambia el nombre del nuevo contenedor. Utiliza
docker
rm <nombre_del_contenedor>
odocker renombrar
.
Estos errores comunes de Docker pueden identificarse y corregirse comprobando cuidadosamente los registros, los archivos de configuración y los procesos en ejecución en el sistema anfitrión. Los volúmenes, imágenes o configuraciones de red defectuosos pueden solucionarse con definiciones y correcciones más precisas en el docker-compose.yml
o en los comandos Docker.