Je reçois un message d'erreur indiquant que je ne peux pas me connecter au démon docker. J'ai examiné les réponses d'autres personnes qui ont eu des problèmes similaires, mais cela n'a pas aidé. J'utilise la version d'Ubuntu 15.10. Je vais essayer de fournir toutes les informations dont je dispose.
root@# docker-compose -f docker-compose-deps.yml up -d
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
Version Docker
root@# sudo docker version
Client:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 13:20:08 UTC 2015
OS/Arch: linux/amd64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Version de Docker-Compose
root@# docker-compose --version
docker-compose version 1.5.2, build 7240ff3
C'est ce qui se passe si j'essaye d'arrêter ou de démarrer le service ...
root@# sudo service docker stop
stop: Unknown instance:
root@# sudo service docker start
docker start/running, process 5375
Si je cours ps aux | grep docker
root@# ps aux | grep docker
root 4233 0.0 0.0 13692 2204 pts/15 S+ 10:27 0:00 grep --color=auto docker
Toute aide serait grandement appréciée. Faites-moi savoir si vous pourriez avoir besoin de plus d'informations.
ubuntu
terminal
docker
docker-compose
Daveskylark
la source
la source
Réponses:
J'ai eu la même erreur, après 15 min de débogage. Il s'avère que tout ce dont il a besoin est de
sudo
:) Vérifiez [Créer un groupe Docker] ici https://docs.docker.com/engine/installation/linux/ubuntulinux/ pour vous débarrasser du préfixe sudo.la source
sudo
n'est qu'une solution de contournement / hack, à mon avis. comme la partie de création de groupe n'est pas expliquée ici, seul un lien est donné, et le contenu de ce lien a changé, je considère cela comme une réponse de lien uniquement, et il est maintenant essentiellement inutile (pour la partie de correctif réel). pourriez-vous peut-être ajouter la description de la façon d'ajouter ce groupe?sudo
c'est aussi une mauvaise idée. Consultez la documentation Docker pour gérer Docker en tant qu'utilisateur non root: docs.docker.com/engine/installation/linux/linux-postinstallsudo usermod -aG docker $USER
, et cela fonctionnera par la suite.J'ai eu ce problème et je ne voulais pas gâcher les choses en utilisant
sudo
. Lors de l'enquête, j'ai essayé d'obtenir des informations:Étonnamment, j'ai eu l'erreur suivante:
Pour une raison quelconque, je n'avais pas assez de privilèges, la commande suivante a résolu mon problème:
Et voilà !
la source
docker.sock
avec un groupe non racine,docker
par défaut. Mais nous pourrions changer cela par-G
indicateur lors de l'initialisation du démon Docker. Dans mon cas, j'ajoute un groupe pour$USERNAME
, signifie ajouter un groupe docker, puis redémarrer ma machine (ubuntu 16.04, PC). Ça marche bien. Et cela est recommandé dans la documentation de docker.Il semble que votre problème ait été créé par un ancien bogue de Docker, où le fichier de socket n'a pas été recréé après le plantage de Docker. Si tel est le problème, renommer le fichier socket devrait lui permettre d'être recréé:
Puisque ce bogue est corrigé, la plupart des personnes qui obtiennent l'erreur l'
Couldn't connect to Docker daemon
obtiennent probablement parce qu'elles ne sont pas dans ledocker
groupe et n'ont pas les autorisations pour lire ce fichier. Courir avecsudo docker ...
résoudra cela, mais ce n'est pas une excellente solution.Docker peut être exécuté en tant qu'utilisateur non root (sans
sudo
) disposant des autorisations de groupe appropriées. La documentation de post-installation Linux contient les détails. La version courte:Cela permet aux utilisateurs du
docker
groupe de s'exécuterdocker
et auxdocker-compose
commandes sanssudo
. Docker lui-même exécute une racine, permettant certaines attaques, vous devez donc toujours faire attention aux conteneurs que vous exécutez. Consultez la documentation sur la sécurité de Docker pour plus de détails.la source
J'ai eu le même problème. Après avoir pris des notes et analysé certains résultats de débogage, j'ai finalement résolu ce qui peut être la même erreur. Démarrez d'abord le service,
service docker start
N'oubliez pas d'inclure votre utilisateur dans le groupe Docker.
la source
sudo
réparé pour les autres -_- Heureux de constater que c'était bien cela, que j'avais oublié de faire. Si simple!Vous devez ajouter votre utilisateur au groupe "docker" avec quelque chose comme:
la source
J'ai eu cette erreur lorsqu'il y avait des fichiers dans le
Dockerfile
répertoire qui n'étaient pas accessibles par l'utilisateur actuel.docker
ne pouvait donc pas télécharger le contexte complet vers le démon et a apporté le message « Impossible de se connecter au démon Docker à http + docker: // localunixsocket ».la source
docker build .
entraînera des problèmes de permission.Une façon de résoudre ce problème serait d'ajouter d'abord votre utilisateur au
docker
groupe en exécutant la commande suivanteIMPORTANT: n'oubliez pas de vous déconnecter de votre système (pas seulement de votre terminal) et de vous reconnecter pour que cela prenne effet!
la source
D'après la sortie de "ps aux | grep docker", il semble que le démon docker ne fonctionne pas. Essayez d'utiliser les méthodes ci-dessous pour voir ce qui ne va pas et pourquoi docker ne démarre pas
$ sudo tail -f /var/log/upstart/docker.log
$ sudo docker -d -D
la source
Dans mon cas, votre service docker pourrait être arrêté
Commande pour démarrer le service docker:
$ sudo systemctl start docker
Commande pour vérifier si elle démarre:
$ sudo docker run hello-world
la source
Une autre raison pour laquelle cette erreur peut apparaître: pour moi, c'était une définition de chemin d'image mal formée dans le
docker-compose.yml
:Lookis ok'ish d'abord, mais j'avais
CONTAINER_REGISTRY_BASE=eu.gcr.io/my-project/
mis sur l'environnement. Apparemment, le//
chemin d'accès à l'image a causé cette erreur.la source
essayez juste avec
sudo
. Cela semble être un problème de permission!cela a fonctionné pour moi.
la source
J'ai utilisé Ubuntu 16.04 et j'ai également trouvé ce problème lorsque j'ai utilisé docker-compose. Je l'ai corrigé en exécutant cette commande.
la source
Y a-t-il une légère possibilité que vous ayez supprimé la machine par défaut? Mais, vérifiez d'abord si tous les fichiers sont là (OSX, similaire sur d'autres systèmes)
Installez également l'application Docker, car il est beaucoup plus facile de gérer les conteneurs:
et lancez l'application Docker à partir du Finder (attendez que le service soit complètement démarré)
Ensuite, vérifiez l'installation avec:
si aucune machine n'est présente dans la liste, créez-en une et démarrez-la:
Après cela, build, compose et toutes les autres commandes devraient fonctionner correctement.
la source
dans mon cas c'est parce que la permission ubuntu,
vérifier l'autorisation par
s'ils impriment l'autorisation de problème, utilisez
la source
Pour moi, le correctif consistait à installer une version plus récente (1.24) de l'
docker-compose
utilisation de cet article .La version précédente (1.17) a été installée à partir
ubuntu
du référentiel par défaut, mais après avoir installé une version plus récente, j'ai réussi à lancer le conteneur. J'espère que ça aide quelqu'un.la source
Je pense que c'est à cause du droit d'accès, il suffit d'écrire
la source
Dans mon cas, j'ai la même erreur lorsque j'essaye
docker-compose build
et ma solution était juste d'ajoutersudo
la source
J'ai trouvé cela et cela a semblé résoudre mon problème.
GitHub Corrige le crash du démon Docker
J'ai changé le contenu de mon fichier docker-compose-deps.yml comme indiqué dans le lien. Puis j'ai couru
docker-compose -f docker-compose-deps.yml up -d
. Ensuite, je l'ai changé et cela a fonctionné pour une raison quelconque. Je n'ai pas eu à continuer les étapes du lien que j'ai fourni, mais les deux premières étapes ont résolu le problème pour moi.la source