Pasar al contenido principal

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:

  1. Con nuestro usuario ROOT, Crearemos un grupo Docker en nuestra instalación de Linux
     
    sudo groupadd docker
  2. A continuación añadiremos DOCKER a este grupo:
     
    sudo usermod -aG docker ${USER}

    ej: sudo usermod -aG docker noroot_drupaladicto
     
  3. 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
     
  4. Comprobaremos que podemos ejecutar el comando sin usar el SUDO:
     
    docker run hello-world
  5. 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