Quotidien Shaarli

Tous les liens d'un jour sur une page.

July 12, 2022

Note: Comment résoudre les problèmes de permission avec Docker ?

Si vous êtes développeur⋅se, que vous utilisez Docker et Docker-Compose sur vos projets et que vous utilisez GNU/Linux, vous avez très certainement déjà eu des problèmes de permission : en effet, il n'est pas rare que Docker (exécuté avec son propre utilisateur) et votre utilisateur se marche dessus, empêchant soit l'application d'écrire dans ses propres répertoires, soit vous d'éditer les fichiers sources.
On peut être tenté de changer les permissions en 0777, mais il y a une solution plus élégante.

À part l'étape 0, la marche à suivre est à réaliser pour chaque projet.

0. Configurer votre utilisateur

Tout d'abord, vérifiez à l'aide de la commande groups que votre utilisateur se trouve bien dans le groupe docker. Si ce n'est pas le cas, ajoutez le :

sudo usermod -aG docker $USER

Le groupe docker est celui auquel appartient l'utilisateur avec lequel est exécuté le démon de Docker.

Puis fermez et rouvrez votre session. Vous pouvez vérifier à nouveau que vous vous situez bien dans le groupe.
Cette étape est un one-shot, vous n'avez plus à vous préoccuper.

1. Donner votre projet au bon utilisateur et au bon groupe

Dans un terminal, positionnez-vous à la racine de votre projet, puis modifiez l'utilisateur et le groupe auquel le projet appartient, de sorte qu'il appartienne bien à votre utilisateur ainsi que le groupe docker :

sudo chown -R $USER:docker

2. Corriger les permissions du projet

Il ne reste plus qu'à s'assurer que vous et votre groupe possède bien les mêmes permissions de lecture et d'écriture :

# D'abord pour vous :
chmod -R u+r .
chmod -R u+w .

# Et aussi pour le groupe :
chmod -R g+r .
chmod -R g+w .

Et voilà !