Avec une installation de base de Docker sur un système Linux, l'utilisation de l'applicatif est généralement limitée à l'utilisateur root
. Bien que la documentation officielle explique comment contourner ce problème, trop peu d'utilisateurs ont connaissance de cette possibilité. Or, l'exécution de programmes avec un niveau de privilège inadapté est une mauvaise pratique pouvant créer une brèche de sécurité dans le système. Et Docker n'est pas une exception à la règle !
Pour commencer, il faut vérifier qu'un groupe docker
a bien été créé lors de l'installation. Dans le doute, la commande suivante créera le groupe s'il n'existe pas déjà :
$> sudo groupadd -f docker
Si ce n'est pas déjà le cas, il faudra veiller à ce que le socket utilisé par Docker appartienne bien à ce groupe :
$> sudo chown root:docker /var/run/docker.sock
Il va ensuite falloir ajouter notre utilisateur à ce groupe :
$> sudo usermod -a -G docker "$(whoami)"
Et enfin appliquer les modifications :
$> newgrp docker
$> sudo systemctl restart docker
Vous pouvez dès à présent lancer vos containers sans passer par root
!
Attention toutefois aux confusions, le démon Docker, lui, reste exécuté par le compte root
, et ce n'est pour le moment pas modifiable.