Erreur quand l'utilisateur n'est pas dans le groupe docker
Bonjour,
D'abord, merci pour ce projet fort utile.
Pour le segment Docker, il faut absolument que l'utilisateur soit dans le groupe docker
(qu'il n'y ait pas besoin de sudo pour que l'utilisateur utilise Docker). Sinon ça affiche l'erreur suivante systématiquement à chaque commande dès que je suis dans un dossier avec un docker-compose.yml
:
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
J'ai remplacé
statuses=$(docker ps --all --format "{{ .Status }}" --filter label=com.docker.compose.project="$project")
par
statuses=$(sudo docker ps --all --format "{{ .Status }}" --filter label=com.docker.compose.project="$project")
ce qui fonctionne. Mais maintenant il me demande le mot de passe de l'utilisateur à chaque fois que je vais dans un répertoire avec un docker-compose.yml (enfin, pas à chaque fois car le mot de passe n'est pas demandé à chaque commande sudo
).
C'est un peu gênant, et je ne sais pas comment le problème peut être solutionné. Une vérification que l'utilisateur fait parti ou non du groupe docker
avant de lancer la commande docker ps -all ...
? Et si c'est pas le cas il lance pas la commande ?
Merci ! :)
PS : pourquoi je ne mets pas mon utilisateur dans le groupe docker
? Parce que c'est déconseillé pour des raisons de sécurité. Alors je préfère utilise sudo quand j'ai besoin d'utiliser docker.
PPS : je sais que je peux désactiver le segment en question, mais je pense que je ne vais pas être le seul à rencontrer ce problème, d'où l'intérêt d'une solution "globale".