Erreur Docker « Autorisation refusée »

Erreur Docker Autorisation Refusee



Lorsque vous travaillez avec Docker, vous pouvez rencontrer un cas où la commande renvoie une erreur « autorisation refusée ». Cette erreur se produit lorsque vous tentez d'exécuter Docker sans autorisations suffisantes pour la commande.

Docker nécessite les autorisations sudo ou root pour exécuter les commandes associées par défaut. Tenter d'exécuter une commande sans les privilèges requis conduit à la fameuse erreur « autorisation refusée ».







Ce didacticiel fournit les différentes méthodes et techniques que vous pouvez utiliser pour corriger l'erreur « autorisation refusée » lors de la tentative d'exécution des commandes Docker.



Gardez à l’esprit qu’il ne couvre pas le processus d’exécution de Docker dans un environnement sans racine. Vous pouvez consulter notre tutoriel sur Docker sans racine dans la ressource suivante :



Exigences:

Comme vous pouvez le deviner, pour suivre cet article, vous devez disposer des éléments suivants :





    1. Docker version 20.0 et supérieure
    2. Autorisations Sudo ou root sur le système hôte

Qu'est-ce que l'erreur « Autorisation refusée » ?

Lorsque l'erreur « autorisation refusée » se produit dans Docker, cela signifie que le système hôte ne peut pas établir de communication avec le démon Docker en raison d'autorisations insuffisantes. Un exemple est présenté ci-dessous :

$ exécution du docker -il boîte occupée merde



Si vous rencontrez l'erreur indiquée, vous pouvez utiliser certaines des méthodes suivantes pour savoir comment la corriger.



Méthode 1 : exécuter le Docker en tant que root

La première et la plus évidente méthode pour résoudre l’erreur « autorisation refusée » de Docker consiste à utiliser la commande « sudo ». Si vous disposez des privilèges sudo, vous pouvez résoudre ce problème en exécutant la commande associée à l'aide de sudo.

Par exemple, pour corriger ladite erreur, nous pouvons ajouter sudo avant la commande comme suit :

$ sudo exécution du docker -il boîte occupée merde



Comme vous pouvez le voir, Docker extrait avec succès les images requises et exécute le conteneur.

Méthode 2 : redémarrer le démon Docker

Parfois, vous pouvez obtenir l'erreur « autorisation refusée » dans Docker si le moteur a un problème. Au lieu de rechercher manuellement le problème, vous pouvez tenter un redémarrage rapide du démon Docker pour le recharger.

Commencez par vérifier l'état du démon Docker comme suit :

$ docker systemctl statut docker



Une fois que vous vous êtes assuré que Docker est en cours d'exécution, redémarrez le service avec la commande suivante :

$ sudo systemctl redémarrer le docker


Cela devrait démarrer le démon Docker et résoudre tout problème potentiel qui pourrait vous empêcher d'exécuter une commande.

Méthode 3 : activer l’utilisateur non root

Une autre méthode que vous pouvez utiliser pour résoudre l'erreur « autorisation refusée » dans Docker consiste à autoriser les utilisateurs non root à exécuter les commandes Docker.

Pour activer cette méthode, connectez-vous au système hôte et créez un nouveau groupe pour Docker.

$ sudo groupeajouter -F docker


Ensuite, ajoutez n'importe quel utilisateur de votre choix au groupe Docker comme suit :

$ sudo mod utilisateur -aG astuce Docker Linux


La commande précédente doit ajouter l'utilisateur Linuxhint au groupe Docker.

Enfin, appliquez les modifications du groupe à la session en cours à l'aide de la commande suivante :

$ nouveau docker grp


Une fois terminé, vous pouvez exécuter n'importe quelle commande Docker sans utiliser sudo pour aucun utilisateur du groupe Docker.

Méthode 4 : reconfigurer les autorisations Docker

La méthode suivante que vous pouvez utiliser consiste à réinitialiser les autorisations pour les sockets Docker. Commencez par modifier la propriété du socket Docker Unix en exécutant la commande suivante :

$ sudo chown racine: docker / était / courir / docker.sock


Ensuite, devenez propriétaire du répertoire Docker caché dans votre répertoire personnel à l'aide de la commande suivante :

$ sudo chown -R ' $UTILISATEUR ' : ' $UTILISATEUR ' $ACCUEIL / .docker


Enfin, attribuez au groupe les autorisations de lecture et d'écriture sur le répertoire comme suit :

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


Les méthodes fournies doivent définir des autorisations suffisantes pour les fichiers et répertoires Docker essentiels.

Conclusion

Dans ce didacticiel, nous avons appris comment utiliser les quatre méthodes principales pour résoudre l'erreur Docker « autorisation refusée » lors de l'appel d'une commande Docker.