Error de Docker 'Permiso denegado'

Error De Docker Permiso Denegado



Al trabajar con Docker, es posible que encuentre una instancia en la que el comando devuelva un error de 'permiso denegado'. Este error ocurre cuando intenta ejecutar Docker sin permisos suficientes para el comando.

Docker requiere permisos sudo o root para ejecutar los comandos asociados de forma predeterminada. Intentar ejecutar cualquier comando sin los privilegios necesarios provoca el infame error de 'permiso denegado'.







Este tutorial proporciona diversos métodos y técnicas que puede utilizar para corregir el error 'permiso denegado' al intentar ejecutar los comandos de Docker.



Tenga en cuenta que no cubre el proceso de ejecución de Docker en un entorno sin raíz. Puede consultar nuestro tutorial sobre Docker sin raíz en el siguiente recurso:



Requisitos:

Como puede adivinar, para seguir esta publicación, debe tener lo siguiente:





    1. Docker versión 20.0 y superior
    2. Permisos Sudo o root en el sistema host

¿Qué es el error 'Permiso denegado'?

Cuando se produce el error 'permiso denegado' en Docker, significa que el sistema host no puede establecer una comunicación con el demonio de Docker debido a permisos insuficientes. Un ejemplo se muestra a continuación:

$ ejecución de la ventana acoplable -él caja ocupada sh

 

Si encuentra el error indicado, puede utilizar algunos de los siguientes métodos para aprender cómo solucionarlo.



Método 1: ejecutar Docker como root

El primer y más obvio método para resolver el error de 'permiso denegado' de Docker es utilizar el comando 'sudo'. Si tiene privilegios de sudo, puede solucionarlo ejecutando el comando asociado usando sudo.

Por ejemplo, para corregir dicho error, podemos agregar sudo antes del comando de la siguiente manera:

$ sudo ejecución de la ventana acoplable -él caja ocupada sh

 

Como puede ver, Docker extrae con éxito las imágenes requeridas y ejecuta el contenedor.

Método 2: reiniciar Docker Daemon

A veces, puede aparecer el error 'permiso denegado' en Docker si el motor tiene un problema. En lugar de rastrear manualmente el problema, puede intentar reiniciar rápidamente el demonio Docker para recargarlo.

Comience verificando el estado del demonio Docker de la siguiente manera:

$ ventana acoplable systemctl estado ventana acoplable

 

Una vez que se asegure de que Docker se esté ejecutando, reinicie el servicio con el siguiente comando:

$ sudo systemctl reiniciar la ventana acoplable

 
Esto debería iniciar el demonio Docker y solucionar cualquier problema potencial que pueda impedirle ejecutar cualquier comando.

Método 3: habilitar al usuario no root

Otro método que puede utilizar para resolver el error de 'permiso denegado' en Docker es permitir que los usuarios no root ejecuten los comandos de Docker.

Para habilitar este método, inicie sesión en el sistema host y cree un nuevo grupo para Docker.

$ sudo agregar grupo -F estibador

 
A continuación, agregue cualquier usuario que desee al grupo Docker de la siguiente manera:

$ sudo mod de usuario -ag ventana acoplable linuxhint

 
El comando anterior debería agregar el usuario de Linuxhint al grupo de Docker.

Finalmente, aplique los cambios del grupo a la sesión actual usando el siguiente comando:

$ ventana acoplable newgrp

 
Una vez completado, puede ejecutar cualquier comando de Docker sin usar sudo para ningún usuario del grupo de Docker.

Método 4: reconfigurar los permisos de Docker

El siguiente método que puede utilizar es restablecer los permisos para los sockets de Docker. Comience cambiando la propiedad del socket Docker Unix ejecutando el siguiente comando:

$ sudo chown raíz: ventana acoplable / era / correr / docker.sock

 
A continuación, tome posesión del directorio oculto de Docker en su directorio de inicio usando el siguiente comando:

$ sudo chown -R ' $USUARIO ' : ' $USUARIO ' $INICIO / .estibador

 
Finalmente, asigne el grupo con permisos de lectura y escritura al directorio de la siguiente manera:

$ sudo chmod -R g+rw ' $INICIO /.docker'

 
Los métodos proporcionados deben establecer permisos suficientes para archivos y directorios esenciales de Docker.

Conclusión

En este tutorial, aprendimos cómo podemos utilizar los cuatro métodos principales para resolver el error de 'permiso denegado' de Docker al invocar un comando de Docker.