Le manuel du docker a ceci à dire :
Donner un accès non root
Le démon docker s'exécute toujours en tant qu'utilisateur root, et depuis la version 0.5.2 de Docker, le démon docker se lie à un socket Unix au lieu d'un port TCP. Par défaut, le socket Unix appartient à l'utilisateur root et, par défaut, vous pouvez y accéder avec sudo.
À partir de la version 0.5.3, si vous (ou votre installateur Docker) créez un groupe Unix appelé docker et y ajoutez des utilisateurs, le démon docker rendra le propriétaire du socket docker accessible en lecture / écriture par le groupe le démon démarre. Le démon docker doit toujours s'exécuter en tant qu'utilisateur root, mais si vous exécutez le client docker en tant qu'utilisateur du groupe docker, vous n'avez pas besoin d'ajouter sudo à toutes les commandes client. A partir de la version 0.9.0, vous pouvez spécifier qu'un groupe autre que docker doit posséder le socket Unix avec l'option -G.
Avertissement: le groupe de menus fixes (ou le groupe spécifié avec -G) est équivalent à la racine; voir les détails de Docker Daemon Attack Surface et cet article de blog sur Pourquoi Ne laissez pas les utilisateurs non root exécuter Docker dans CentOS, Fedora ou RHEL (merci michael-n).
Important à lire: étapes post-installation pour Linux (il contient également des liens vers < a href="https://docs.docker.com/engine/security/security/#/docker-daemon-attack-surface"> Détails de la surface d'attaque du démon Docker ).
Gérer Docker en tant qu'utilisateur non root
Le démon docker se lie à un socket Unix au lieu d’un port TCP. Par défaut, le socket Unix appartient à l'utilisateur root et les autres utilisateurs ne peuvent y accéder qu'à l'aide de sudo. Le démon docker s'exécute toujours en tant qu'utilisateur root.
Si vous ne souhaitez pas utiliser sudo lorsque vous utilisez la commande docker, créez un groupe Unix appelé docker et ajoutez-y des utilisateurs. Au démarrage du démon docker, le groupe docker devient propriétaire du socket Unix en lecture / écriture.
-
Ajoutez le groupe de menus fixes s'il n'existe pas déjà:
sudo groupadd docker
-
Ajoutez l'utilisateur connecté "$ USER" au groupe de menus fixes. Modifiez le nom d'utilisateur pour qu'il corresponde à votre utilisateur préféré si vous ne souhaitez pas utiliser votre utilisateur actuel:
sudo gpasswd -a $USER docker
-
Faites un newgrp docker
ou déconnectez-vous / pour activer les modifications apportées aux groupes.
-
Vous pouvez utiliser
docker run hello-world
pour vérifier si vous pouvez lancer docker sans sudo.