Impossible de se connecter au démon Docker sur macOS

je préfère normalement gérer mes applications sur mon OSX avec brew

je suis capable d'installer docker, Docker-composer et docker-machine

docker --version
Docker version 17.05.0-ce, build 89658be
docker-compose --version
docker-compose version 1.13.0, build unknown
docker-machine --version
docker-machine version 0.11.0, build 5b27455

Je n'ai pas téléchargé et lancé L'application 'Docker for Mac'.

cependant quand j'essaie de courir

> docker run -d -p 80:80 --name webserver nginx
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.

j'ai déjà vérifié le fichier des chaussettes

ls -lah /var/run/docker.sock /var/tmp/docker.sock
ls: /var/run/docker.sock: No such file or directory
ls: /var/tmp/docker.sock: No such file or directory

j'ai également essayé cette solution proposée: Mac OS X sudo docker ne peut pas se connecter au démon Docker. Est-ce que le démon docker tourne sur cet hôte?

mais j'ai eu ce message d'erreur:

$ eval $(docker-machine env default)
Host does not exist: "default"

est-il possible d'obtenir un service docker pour exécuter par des outils en ligne de commande?

70
demandé sur Community 2017-05-20 13:36:15

9 réponses

brew cask install docker

puis lancer le Docker app. Cliquez sur suivant. Il demandera un accès privilégié. Confirmer. Une icône de baleine devrait apparaître dans la barre supérieure. Cliquez dessus et attendez "Docker est en cours d'exécution".

vous devriez pouvoir exécuter les commandes docker maintenant.

docker ps
148
répondu friederbluemle 2017-06-23 10:31:51

j'ai eu ce même problème je l'ai résolu dans les étapes suivantes:

docker-machine restart

quittez le terminal (ou itérm2, etc, etc) et redémarrez

eval $(docker-machine env default)

j'ai aussi répondu ici

15
répondu Master p 2018-02-11 07:09:12

sur macOS le docker binaire est seulement un client et vous ne pouvez pas l'utiliser pour exécuter le démon docker, parce que le démon Docker utilise des caractéristiques du noyau spécifiques à Linux, donc vous ne pouvez pas exécuter Docker nativement dans OS X. Donc, vous devez installer docker-machine afin de créer VM et de s'y attacher.

Installer docker-machine sur macOS

si vous n'avez pas encore la commande docker-machine , installez en utilisant l'une des méthodes suivantes:

  • utilisant Brew commande: brew install docker-machine docker .
  • manuellement:

    install -v <(curl https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine
    

Voir: Get a commencé avec menu fixe pour Mac .

Configurer docker-machine sur macOS

créer une machine default (si vous n'en avez pas, voir: docker-machine ls ):

docker-machine create --driver virtualbox default

puis configurer l'environnement pour le client Docker:

eval "$(docker-machine env default)"

puis double-vérifier en énumérant les conteneurs:

docker ps

Voir: démarrer avec le Panneau de la Machine et un local VM .


Related:

13
répondu kenorb 2018-04-08 15:56:33

essayez ceci pour créer la valeur par défaut.

docker-machine create default
9
répondu Mossaddeque Mahmood 2017-05-26 14:09:55

sur OSX assurer que vous avez lancé l'application Docker avant de délivrer

docker ps

ou docker build ... etc. .. oui, il semble étrange et quelque peu trompeur que l'émission

docker --version

donne la version même si le démon docker n'est pas en cours d'exécution ... idem pour les autres version de maladies cardio-métaboliques ... Je viens de rencontrer exactement les mêmes symptômes

3
répondu Scott Stensland 2017-06-06 00:56:50

j'ai eu docker à jour, docker a dit qu'il fonctionnait, et le diagnostic était bon. J'ai dû désactiver une variable d'environnement legacy (merci ) https://docs.docker.com/docker-for-mac/troubleshoot/#workarounds-for-common-problems )

unset DOCKER_HOST
unset DOCKER_CERT_PATH
unset DOCKER_TLS_VERIFY
3
répondu Michael 2018-07-25 21:09:16

parce que la gestion des processus est intrinsèquement difficile avec MacOS (contrairement aux OS nix traditionnels avec des choses comme SystemD et init), vous avez besoin d'une application cask pour lancer et exécuter en arrière-plan pour permettre au démon de fonctionner (et avoir un accès facile à la gestion).

brew install s'installe simplement CLI utilitaires brew cask install est prévu pour l'interface graphique utilitaires. Ainsi, lorsque vous installez docker, vous devez préformer les deux installations pour obtenir l'utilitaire GUI de daemon et L'utilitaire CLI. Je espérons que cela clarifie pour ceux qui étaient contrariés par Brew de ne pas installer les deux par défaut!

2
répondu Ryan Smith 2018-08-21 20:23:41

j'ai eu le même problème. Le Docker court mais ne peut pas y accéder par CLI.

pour moi le problème a été résolu en exécutant "Docker Quickstart Terminal.App." Ceci est situé dans le dossier"/Applications/ Docker/". Tant que je travaille dans ce cas de L'app Docker Terminal fonctionne parfaitement. Si une deuxième fenêtre est nécessaire, je dois lancer L'application" Quickstart " une fois de plus.

j'ai un Docker pour l'installation Mac. Donc je ne suis pas sûr si mon la solution est valable pour une installation à domicile.

l'application" Docker Quickstart Terminal " semble être essentiellement quelques applescripts pour lancer l'application de terminal et un script bash start qui initialise toutes les variables d'environnement nécessaires.

Espérons que cela aide quelqu'un d'autre !

1
répondu beo 2018-01-04 15:32:32

j'ai d'abord essayé docker et docker-composer via homebrew, mais il avait le problème énuméré ici. J'ai dû installer l'installation officielle de docker à partir de https://docs.docker.com/docker-for-mac/install / et puis tout a fonctionné comme prévu.

0
répondu Thomas Kessler 2018-04-17 10:59:01