web-dev-qa-db-fra.com

Impossible de se connecter au démon Docker sous macOS

Je préfère normalement gérer mes applications sur mon OSX avec Brew

Je suis capable d'installer docker, docker-compose 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 exécuté l'application 'Docker for Mac'.

Cependant quand j'essaye 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 chaussette

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: Docker Mac OS X Sudo Impossible de se connecter au démon Docker. Le démon docker est-il en cours d'exécution 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 de faire fonctionner un service Docker à l'aide d'outils de ligne de commande?

103
Anthony Kong
brew cask install docker

Puis lancez 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 du haut. Cliquez dessus et attendez que "Docker is running" apparaisse.

Vous devriez pouvoir exécuter les commandes docker maintenant.

docker ps
215
friederbluemle

Sur macOS, la docker binary n'est qu'un client et vous ne pouvez pas l'utiliser pour exécuter le démon docker, car celui-ci utilise des fonctionnalités du noyau spécifiques à Linux. Installez docker-machine pour créer VM et y attacher.

Installez docker-machine sur macOS

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

  • Utiliser Brew command: 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: Démarrer avec Docker pour Mac .

Configurez docker-machine sur macOS

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

docker-machine create --driver virtualbox default

Configurez ensuite l'environnement pour le client Docker:

eval "$(docker-machine env default)"

Puis double-vérifier en listant les conteneurs:

docker ps

Voir: Premiers pas avec Docker Machine et un VM local .


En relation:

36
kenorb

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

docker-machine restart

Quitter le terminal (ou iTerm2, etc., etc.) et redémarrer

eval $(docker-machine env default)

J'y ai aussi répondu ici

23
Master p

Essayez ceci pour créer des valeurs par défaut.

docker-machine create default
8

sur OSX, assurez-vous d'avoir lancé l'application Docker avant de publier

docker ps

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

docker --version

donne la version bien que le démon docker ne soit pas en cours d'exécution ... idem pour les autres versions cmds ...

3
Scott Stensland

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

brew install installe simplement les utilitaires CLI brew cask install est destiné aux utilitaires graphiques. Ainsi, lors de l’installation de docker, vous devez effectuer une mise à jour des DEUX installations afin d’obtenir l’utilitaire GUI de démon et l’utilitaire CLI. J'espère que cela clarifie pour ceux qui étaient contrariés par le fait que Brew n'installe pas les deux par défaut!

3
Ryan Smith

J'avais docker à jour, docker a dit qu'il fonctionnait et que le diagnostic était bon. J'avais besoin de supprimer une variable d'environnement héritée (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
Michael

J'ai eu le même problème. Docker en cours d'exécution mais ne pouvait pas y accéder via la CLI.

Pour moi, le problème a été résolu en exécutant "Docker Quickstart Terminal.app". Cela se trouve dans le dossier "/ Applications/Docker /". Tant que je travaille dans cette instance de l'application Terminal, Docker fonctionne parfaitement. Si une deuxième fenêtre est nécessaire, je dois exécuter l'application "Quickstart" une fois de plus.

J'ai une installation Docker pour Mac. Par conséquent, je ne sais pas si ma solution est valable pour une installation Homebrew.

L'application "Docker Quickstart Terminal" semble être essentiellement une application permettant de lancer l'application Terminal et un script de démarrage bash qui initialise toutes les variables d'environnement nécessaires. 

J'espère que ceci aide quelqu'un d'autre !

2
beo

J'ai Mac OS et j'ouvre Launchpad et sélectionne docker application. Dans l'onglet reset, cliquez sur restart.

1
Ehsan Barkhordar

Installez minikube et venez rejoindre le côté obscur.

https://kubernetes.io/docs/tasks/tools/install-minikube/

$ bash --version
GNU bash, version 5.0.3(1)-release (x86_64-Apple-darwin18.2.0)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

eval $(minikube docker-env)

$ docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate     -i /local/swagger.json     -l python     -o /local/test/
[main] INFO io.swagger.parser.Swagger20Parser - reading from /local/swagger.json
[main] WARN io.swagger.codegen.DefaultGenerator - 'Host' not defined in the spec. Default to 'localhost'.

Fonctionne parfaitement sur Macbook Pro 2018 avec bash v5. Pas besoin d'installer toutes les autres bêtises de docker ces jours-ci à l'OMI. Le script VM et d'installation fourni avec minikube peut remplacer la machine de base de mon expérience.

1
Ligemer

je devais simplement lancer une recherche Spotlight et exécuter l'application Docker dans le dossier/Applications créé par brew cask install. Une fois que cela a été exécuté, il a demandé de terminer l'installation. J'ai ensuite pu exécuter docker ps

0
wired00

J’ai d’abord essayé docker et docker-compos via homebrew, mais le problème indiqué ici. Je devais installer l’installation officielle de docker à partir de https://docs.docker.com/docker-for-mac/install/ et tout s’est déroulé comme prévu.

0
Thomas Kessler