J'ai installé Docker par le biais du magasin de logiciels, qui indiquait qu'il s'agissait d'un package d'instantané. Ce qui me convient, je suppose, mais malheureusement, toutes les commandes Docker que j'ai essayées ne fonctionnent pas:
$ docker info
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.30/info: dial unix /var/run/docker.sock: connect: permission denied
Une idée comment résoudre ce problème?
Edit: J'ai résolu ce problème pour le moment en installant Docker à partir de les propres référentiels de Docker , ce qui pourrait convenir aux personnes parcourant cette page. question à l'avenir aussi. Je laisse toutefois la question ouverte à ceux qui veulent pouvoir la gérer depuis l'instantané.
Le message d'erreur vous indique que votre utilisateur actuel ne peut pas accéder au moteur de menu fixe, car vous ne disposez pas des autorisations nécessaires pour accéder au socket Unix afin de communiquer avec le moteur.
Utilisez la commande Sudo
pour exécuter les commandes avec des autorisations élevées à chaque fois.
Ajoutez l'utilisateur actuel au groupe docker
. Ceci peut être réalisé en tapant
Sudo usermod -a -G docker $USER
Vous devez vous déconnecter et vous reconnecter pour que l'adhésion au groupe prenne effet.
Source: techoverflow.net
Ceci est de la page GitHub, avez-vous essayé ces étapes exactes:
If you are using Ubuntu Core 16,
Connect the docker:home plug as it's not auto-connected by default:
$ Sudo snap connect docker:home
If you are using an alternative snap-compatible Linux distribution ("classic" in snap lingo), and would like to run docker as a normal user:
Create and join the docker group.
$ Sudo addgroup --system docker
$ Sudo adduser $USER docker
$ newgrp docker
You will also need to disable and re-enable the docker snap if you added the group while it was running.
$ Sudo snap disable docker
$ Sudo snap enable docker
Je suppose que votre nom d'utilisateur est déjà dans le groupe Docker. Pour vérifier cela, lancez la commande ci-dessous.
id -nG
Sinon, vous devez ajouter votre utilisateur au groupe de menus en utilisant la commande ci-dessous.
Sudo groupadd docker
Sudo usermod -aG docker $USER
Lorsque vous exécutez la commande Sudo systemctl start docker
, un processus de menu fixe est créé. Ce processus de menu fixe contient le thread démon dockerd
. La commande crée également le docker.sock
socket Unix par défaut. Le socket docker.sock
est écouté en permanence par le thread de démon dockerd
. Cela vous permet de faire IPC au niveau du noyau avec le processus docker.pid
. Pour pouvoir utiliser ce socket, vous devez disposer des autorisations appropriées au niveau processus (docker.pid
) et au niveau du 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
Sudo setfacl -m user:your_user_name:rw /var/run/docker.sock
ne nécessite pas de redémarrage et est plus sécurisé
Vous devez ajouter l'utilisateur au groupe Docker ( voir la documentation officielle ).
Vous pouvez ajouter Sudo
devant la commande ou vous pouvez ajouter l'utilisateur dans le groupe docker
à l'aide de cette commande:
Sudo usermod -aG docker <USER>
Déconnectez-vous et reconnectez-vous afin que votre appartenance au groupe soit réévaluée.