J'ai installé docker comme décrit ici . J'utilise Ubuntu Trusty 14.04 (LTS) (64 bits) . Tout lors de l'installation s'est bien passé. La commande se $ sudo docker run -i -t ubuntu /bin/bash
termine également bien (après avoir tapé "exit" dans la console ouverte. Mais lorsque j'essaie de faire autre chose, j'obtiens "autorisation refusée". Par exemple:
`$ sudo docker run -d -P training/webapp python app.py`
Réutilisé dans Post http:///var/run/docker.sock/v1.12/containers/create: dial unix /var/run/docker.sock: permission denied
` docker info`
Réutilisé dans Get http:///var/run/docker.sock/v1.12/info: dial unix /var/run/docker.sock: permission denied
Comment résoudre ça? J'ai cherché sur Google le problème mais je ne trouve pas de solution à mon cas.
la source
exec $SHELL
ne l'a pas fait. Je suis intéressé de savoir par quel mécanisme la déconnexion a résolu le problème. Ce ne sont pas des fenêtres!/etc/selinux/config
et mettreSELINUX=disabled
, puis redémarrer LinuxSi vous utilisez CentOS ou RedHat, vous devrez peut-être d'abord désactiver SELinux en exécutant:
Redémarrez ensuite pour réactiver SELinux ou exécuter
setenforce 1
.la source
J'ai eu le même problème, à cause de selinux. Vous pouvez vérifier si selinux est le coupable en:
setenforce 0
Si la désactivation de selinux a résolu votre problème, ce n'est pas une raison pour le laisser désactivé:
setenforce 1
setsebool docker_connect_any true
--priviledged
optionla source
Je suppose que votre nom d'utilisateur est déjà dans le groupe Docker. Pour vérifier cela, lancez la commande ci-dessous.
Sinon, vous devez ajouter votre utilisateur au groupe de menus en utilisant la commande ci-dessous.
Lorsque vous exécutez la commande,
sudo systemctl start docker
un processus de menu fixe est créé. Ce processus de menu fixe contient undockerd
fil de démon. La commande crée également undocker.sock
socket Unix par défaut . Ledocker.sock
socket est continuellement écouté par ledockerd
thread du démon. Cela vous permet de faire de l'IPC au niveau du noyau avec undocker.pid
processus. Pour pouvoir utiliser cette prise de menu fixe, vous devez disposer des autorisations appropriées à partir du niveau processus (docker.pid
) et du niveau fichier (docker.sock
). Donc, exécuter ci-dessous deux commandes devrait résoudre votre problème.sudo chmod a+rwx /var/run/docker.sock # You can provide just execute permission sudo chmod a+rwx /var/run/docker.pid
la source
Par version actuelle, nous n'avons pas besoin d'ajouter le groupe
docker
.Il existe automatiquement par l'installation. Vous pouvez vérifier en utilisant la commande:
Donc, pour gérer Docker en tant qu'utilisateur non root , ajoutez simplement votre utilisateur au groupe Docker, puis déconnectez-vous et reconnectez-vous pour que votre appartenance à un groupe soit réévaluée:
Pour le vérifier lorsque vous vous reconnectez
Vous pouvez même forcer à utiliser
GROUP:docker
comme nouveau groupe principal:Pour le vérifier lorsque vous vous reconnectez
la source