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à !