Instrucciones
Error: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied
Según la página oficial de docker https://docs.docker.com/engine/install/linux-postinstall/
Tendremos que seguir los siguientes pasos:
- Con nuestro usuario ROOT, Crearemos un grupo Docker en nuestra instalación de Linux
sudo groupadd docker
- A continuación añadiremos DOCKER a este grupo:
sudo usermod -aG docker ${USER}
ej: sudo usermod -aG docker noroot_drupaladicto
- Debería cerrar la sesión y volver a iniciarla para que se vuelva a evaluar la membresía de su grupo o escribir el siguiente comando:
su -s ${USER}
ej.: su - noroot_drupaladicto
- Comprobaremos que podemos ejecutar el comando sin usar el SUDO:
docker run hello-world
- Si volvemos a tener un mensaje de error y no podemos ejecutar sin usar SUDO nuestros comandos de DOCKER, entonces ejecutaremos los siguientes comandos:
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R sudo chmod g+rwx "$HOME/.docker" -R
Con esto debería quedar corregido el problema de permisos para ejecutar los comandos de docker, para comprobarlo, usando nuestro usuario NO_ROOT ejecutaremos el comando:
docker run hello-world
Notas
Si el problema persiste, y estás trabajando con WSL2 y Docker Desktop, puede que, después de alguna actualización, se haya desactivado la integración entre Docker Desktop y WSL2.
Para corregirlo:
- Abre el panel de administración de Docker Desktop.
- Haz clic en la ruedita de la parte superior derecha y luego dirígete al menú que se desplegará en la parte izquierda del panel.
- Busca la opción Recursos
- Veriica si se ha desactivado el Check que permite la integración entre WSL2 y Docker Desktop.