Solución del problema de conexión de Docker Daemon
Cuando vea el mensaje de error “El demonio Docker no se puede conectar a 'unix:///var/run/docker.sock'Esto suele significar que comandos como "docker run" o "docker ps" no funcionarán. Como resultado, no podrá interactuar con los contenedores Docker. Este error se produce porque el cliente Docker no puede conectarse al demonio Docker, el programa subyacente que gestiona todas las operaciones de Docker en su equipo.

La razón más común de este problema es que el servicio Docker no se está ejecutando en el sistema. Otras posibles causas incluyen la falta de permisos para acceder al socket de Docker, problemas con la instalación de Docker o problemas con el archivo `docker.sock`.
Ahora que tienes una idea de las posibles causas, pasemos a algunas soluciones prácticas.
1. Inicie el servicio Docker usando systemctl
Lo primero que debe comprobar es si Docker se está ejecutando. La herramienta `systemctl` permite iniciar y administrar los servicios del sistema. Si Docker no está activo, el cliente Docker no puede comunicarse con el proceso principal, lo que provoca este error. Ejecutar el comando `systemctl start docker` iniciará el servicio Docker y debería resolver el problema si simplemente está inactivo.
- Abra la terminal Primero, ejecute el siguiente comando para Mostrar Estibador:
sudo systemctl desenmascarar docker
Si intenta iniciar Docker mientras está enmascarado, verá el error "Error al iniciar docker.service: La unidad está enmascarada". El enmascaramiento es una forma más eficaz de detener un servicio: impide que se inicie por completo. Si desea ver el estado de todos los archivos de la unidad en su sistema, use [nombre del método/herramienta]. systemctl lista-unidad-archivos.
- Una vez que Docker se convierte en Desoculto, puedes Iniciar el demonio Docker Al utilizar este comando, el demonio Docker es el servicio back-end que administra las imágenes y los contenedores y maneja las solicitudes de la API de Docker.
sudo systemctl iniciar ventana acoplable

- Para Comprueba si Docker está funcionandoIngrese este comando. Mostrará el estado actual de su servicio Docker:
sudo systemctl estado de la ventana acoplable

- Como puedes ver en la imagen de arriba, ahora deberías ver que Docker está activo y funcionando.
2. Limpie el error “Docker pull failed” e inicie el servicio Docker
A veces, si falla una extracción de Docker, puede dejar archivos incompletos que impiden que el demonio de Docker se inicie correctamente. Eliminar estos archivos restantes permite que Docker comience de cero. Reiniciar el servicio de Docker posteriormente ayuda a resolver cualquier problema causado por archivos bloqueados o dañados.
- Abierto Periférico Introduzca estos comandos:
sudo systemctl desenmascarar docker.service sudo systemctl desenmascarar docker.socket sudo systemctl iniciar docker.service

Si el error persiste después de ejecutar estos comandos, debe Eliminar Los archivos restantes en el directorio ContenedorLuego, intenta iniciar Docker de nuevo. Containerd, que se incorporó a Docker en la versión 1.11, permite gestionar los contenedores Docker directamente en segundo plano.
- Permanezca en la Terminal y ejecute estos comandos; tenga en cuenta que deberá La contraseña del usuario root:
sudo su service docker stop cd /var/run/docker/libcontainerd rm -rf containerd/* rm -f docker-containerd.pid service docker start

3. Inicie el servicio Dockerd (Docker Daemon) directamente
Dockerd es el programa principal (oculto) que se ejecuta en segundo plano y gestiona todas las tareas de Docker. En algunos casos, ejecutar Dockerd directamente puede ser útil, especialmente si el comando `systemctl` no funciona en su sistema.
- Abierto terminal Utilice este comando para iniciar directamente el demonio Docker:
sudo dockerd

4. Inicie Docker usando el comando Servicio
Iniciar Docker manualmente puede garantizar que el servicio se ejecute. Puede usar el comando `sudo service docker start` para iniciar Docker, lo cual resulta útil si Docker no se inicia automáticamente tras reiniciar el sistema.
- Abra su terminal y ejecute:
sudo service --status-all sudo service docker start

5. Iniciar un servicio Docker usando Snap
Si instaló Docker con Snap, debe asegurarse de que el servicio Docker administrado por Snap funcione correctamente. Snap a veces requiere que inicie o conecte los servicios usted mismo. Use `sudo snap start docker` para verificar que el demonio de Docker funcione correctamente.
- Abra la Terminal y ejecute este comando para Iniciar Docker:
sudo snap start docker

- Para comprobar si Docker se ha iniciado correctamente usando Snap, utilice:
servicios sudo snap
- Esto resultará en Enumere todos los servicios de Snap actualmente en funcionamiento:

- Si Docker aún no se ha iniciado, prueba Conectando el complemento docker:homeQue no siempre se conecta automáticamente. Luego reinicia Docker.
- Abra la Terminal y ejecute lo siguiente:
sudo snap connect docker:home :home sudo snap start docker

6. Iniciar Docker para usuarios sin privilegios de root
Este error también puede ocurrir si no tiene permisos suficientes para acceder a 'unix:///var/run/docker.sock'. Puede evitarlo temporalmente exportando la variable de host de Docker para usar la interfaz de red local a través del puerto 2375.
- Abra la terminal y ejecute:
exportar DOCKER_HOST=tcp://localhost:2375

7. Reinstalar Docker
A veces, problemas con la instalación de Docker, como archivos dañados o configuraciones incorrectas, pueden impedir que el demonio de Docker se ejecute correctamente. Reinstalar Docker restaura todo a su estado predeterminado y puede solucionar problemas causados por configuraciones erróneas o conflictivas.
- Después de reinstalar Docker, verifique que el servicio se esté ejecutando utilizando el siguiente comando:
inicio de la ventana acoplable del servicio sudo
Esto iniciará Docker y, a menudo, solucionará problemas cuando el programa no está activo, especialmente después de reiniciar la computadora o si Docker no se inicia automáticamente.
- Dado que el demonio Docker controla todos los contenedores e imágenes, garantizar que esté en ejecución restablece la conexión entre el cliente Docker y el demonio, lo que puede solucionar errores causados por interrupciones del servicio o inactividad.






Los comentarios están cerrados.