J'ai installé Docker sur Ubuntu 14.04, il m'a dit que l'installation avait réussi. Ensuite, je suis entré Sudo docker version
, il est revenu
Client:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 13:12:04 UTC 2015
OS/Arch: linux/AMD64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Je suis entré Sudo service docker status
, J'ai eu
docker start/running, process 8063
J'ai essayé Sudo docker images
et Sudo docker info
, J'ai la même réponse:
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Je ne sais pas pourquoi il a renvoyé ceci, j'ai essayé de tirer ubuntu en utilisant Sudo docker pull ubuntu
, et obtenu
Using default tag: latest
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Veuillez me dire comment puis-je résoudre ce problème, comment puis-je extraire et exécuter l'image docker. Et est docker -d
le même que docker deamon
?
Vous devez ajouter votre utilisateur actuel au groupe docker
comme suit:
Sudo usermod -aG docker <your username>
Vous pouvez également utiliser la variable d'environnement USER
comme:
Sudo usermod -aG docker $USER
Redémarrez ensuite le système. Comme le dit le docker documentation :
Le docker démon 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 peuvent y accéder avec
Sudo
. Pour cette raison, le démon docker s'exécute toujours en tant qu'utilisateur root.Pour éviter d'avoir à utiliser
Sudo
lorsque vous utilisez la commandedocker
, créez un groupe Unix appelédocker
et ajoutez-y des utilisateurs. Lorsque le démon docker démarre, il rend la propriété du socket Unix lisible/inscriptible par le groupedocker
.
Si l'ajout d'un utilisateur au groupe docker
ne fonctionne pas, essayez de redémarrer le service:
Sudo service docker restart
La seule façon qui a fonctionné pour moi (sur Ubuntu Xenial):
Sudo groupadd docker
Sudo gpasswd -a ${USER} docker
Sudo service docker restart
newgrp docker
Trouvé ici
Dans mon cas, la réponse de travail est
$ docker-machine create -d virtualbox default
$ eval "$(docker-machine env default)"
Si toutes les autres solutions ci-dessus ne fonctionnent pas, vous pouvez essayer de vérifier la propriété de /var/run/docker.sock
:
ls -l /var/run/docker.sock
Si vous n'êtes pas le propriétaire, changez de propriétaire avec la commande:
Sudo chown *your-username* /var/run/docker.sock
Ensuite, vous pouvez continuer et essayer d'exécuter les commandes Docker sans tracas: D
Je ne sais pas si d'autres ont utilisé cette approche, mais lorsque je suis confronté à ce problème de "Le démon docker fonctionne-t-il sur cet hôte?", La suppression des variables d'environnement liées au docker permet de reconnaître le démon docker exécuté sur ma machine. Le même message d'erreur apparaît lorsque j'ouvre un nouvel onglet dans la fenêtre du terminal et que la réinitialisation a aidé à le résoudre.
unset ${!DOCKER_*}