Cómo corregir error docker: Got permission denied while trying to connect to the Docker daemon socket
Descripción
Cuando estamos trabajando con Docker o con DDEV, es posible encontrarnos con un error de permisos al intentar ejecutar los comandos de docker con nuestro usuario normal NO_ROOT o incluso con el usuario ROOT.
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