Les commandes Docker échouent (sous Windows)

J’essaie d’utiliser Docker sur une machine Windows et est frappé avec tous les problèmes possibles, semble-t-il. Ma dernière version est la suivante: ma machine est en cours d’exécution, mais je ne peux pas interagir avec les commandes docker. Si je lance une commande très standard comme:

docker ps 

Je reçois un message d’erreur comme celui-ci:

 An error occurred trying to connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v 1.23/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. 

Donc, apparemment, tout chemin est foutu. Quelqu’un sait-il quel chemin il est et comment résoudre ce problème?

Lorsque vous exécutez docker ps et recevez:

Une erreur s’est produite lors de la tentative de connexion: Obtenez http: //%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json : open //./pipe/docker_engine: Le système ne peut pas trouver le fichier spécifié.

Les propriétés d’environnement suivantes doivent être définies:

  set DOCKER_CERT_PATH=%USERPROFILE%\.docker\machine\machines\default set DOCKER_HOST=tcp://192.168.99.100:2376 set DOCKER_MACHINE_NAME=default set DOCKER_TLS_VERIFY=1 

Cela suppose que %USERPROFILE%\.docker\machine\machines\default est le chemin par défaut où se trouvent les fichiers docker cert.pem , key.pem , ca-key.pem et ca.pem ; le nom de la machine virtuelle (créé par docker-machine create ) est la default et la limite inférieure de Virtual Box DHCP Server (située sous VirtualBox-> File-> Preferences-> Network-> Host-only Networks-> hover mouse sur VirtualBox Host-Only Ethernet Adapter) est 192.168.99.100 et aucune autre machine virtuelle ne s’exécute dans VirtualBox.

Je rencontre ce problème lors de l’utilisation de docker-machine et je n’ai pas exécuté la commande docker-machine env après le redémarrage. Je ne sais pas comment faire cela dans cmd.exe, mais si vous utilisez Powershell, essayez de lancer cette commande:

 docker-machine env --shell=powershell | Invoke-Expression 

Même problème sur Win 7. Solution:

Dans la fenêtre Docker Quickstart, à l’invite $, exécutez la ligne ci-dessous:

votre_utilisateur @ votre_machine MINGW64 ~

$ eval $ (“C: \ Program Files \ Docker Toolbox \ docker-machine.exe” env par défaut)

Ensuite, vous pourrez lancer “docker run hello-world”.

Assurez-vous que Hyper-V est opérationnel:

  • ouvrir l’invite de commande élevée
  • tapez bcdedit /set hypervisorlaunchtype auto
  • redémarrer
  • exécuter “Docker for Windows”

J’ai créé une nouvelle machine en utilisant la commande ci-dessous

 docker-machine create --driver=virtualbox vbox-test 

Puis exécuté la commande

 docker-machine env --shell=powershell | Invoke-Expression 

Got it Working …

J’ai dû traiter le même problème sous Windows.

Pour le résoudre:

  1. Créer un docker (seulement si vous n’en avez pas)

     docker-machine create default 
  2. Récupère les variables ENV dont le client docker a besoin pour se connecter à la machine docker (serveur) [Vous devrez le faire à chaque fois ou définir dans vos vars ENV]

     docker-machine.exe env default 

    Vous pouvez soit les installer manuellement, soit exécuter l’une des opérations suivantes en fonction de votre shell environment ( cmd , bash , power-shell ).

     docker-machine env --shell=cmd # you need to run it manually docker-machine env --shell=bash > env-var-commands-tmp && . env-var-commands-tmp && rm env-var-commands-tmp docker-machine env --shell=powershell | Invoke-Expression 
  1. Ouvrez cmd avec les droits d’administrateur.
  2. Exécuter la commande suivante

    docker-machine env –shell cmd default

  3. vous recevrez la sortie suivante

    SET DOCKER_TLS_VERIFY = 1

    SET DOCKER_HOST = tcp: //192.168.99.102: 2376

    SET DOCKER_CERT_PATH = C: \ Users \ DBashyal.docker \ machine \ machines \ default

    SET DOCKER_MACHINE_NAME = par défaut

    REM Exécutez cette commande pour configurer votre shell:

    REM @FOR / f “jetons = *”% i IN (‘env docker-machine env –shell cmd default’) DO @% i

  4. Copiez la ligne en surbrillance et exécutez cmd

    @FOR / f “jetons = *”% i IN (‘env docker-machine env –shell cmd default’) DO @% i

  5. Exécuter la commande suivante

    docker ps

J’ai regardé toutes les réponses ci-dessus et aucune n’a fonctionné. Ensuite, j’ai découvert que la commande devait être exécutée sur une ligne de commande Linux comme bash. alors essayez:

Tapez la commande dans la machine virtuelle du terminal Docker bash fournie avec la boîte à outils docker, par opposition à Windows cmd

Si vous avez déjà vérifié que votre menu fixe a été démarré

Comme indiqué dans d’autres réponses, vous devez définir quelques variables d’environnement.

Le moyen le plus simple est de:

  @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd') DO @%i 

Cela exécutera docker-machine env --shell cmd et appenda ces variables d’environnement.

Si vous souhaitez que ces variables soient persistantes, définissez-les dans Windows ( tutoriel ).

Cliquez avec le bouton droit sur l’icône Docker dans la barre d’état système, sélectionnez “Basculer vers les conteneurs Windows …”. Vous pouvez être invité à activer la fonctionnalité Conteneurs. Faites-le et redémarrez à nouveau.

J’ai eu ce problème sur un ordinateur Windows 2016. C’est arrivé parce que le service de docker n’a pas été démarré. Dans mon cas, le service docker échoue avec l’erreur suivante

fatal: Erreur lors du démarrage du démon: fichier pid trouvé, assurez-vous que docker n’est pas en cours d’exécution ou supprimez C: \ ProgramData \ docker.pid

La suppression du fichier C: \ ProgramData \ docker.pid a fait l’affaire.

ci-dessous résolu. j’ai copié la réponse d’un autre forum

J’ai eu ce problème après la mise à jour. Après avoir réinstallé VB, j’ai activé “VirtualBox NDIS6 Bridged Networking Driver” dans la connexion réseau des propriétés.

La propriété a été désactivée par défaut dans mon cas. `

Windows 10 Professional Pour moi, le service Docker était en cours d’exécution, mais Docker devait encore être “démarré”. En d’autres termes, le paramètre “Démarrer Docker lorsque vous vous connectez” n’a pas été coché dans l’icône de la barre d’état Docker.

Avant de le découvrir, je me suis rendu dans le dossier du programme Docker et j’ai cliqué sur “Docker for Windows”. Après quelques instants, le message “Docker est en cours d’exécution” était affiché.

Pour moi, cette erreur a été résolue après la suppression daemon.json fichier daemon.json dans "%programdata%\docker\config"

Le contenu de mon daemon.json est le suivant:

 { "hosts": ["tcp://0.0.0.0:2375"] } 

Je l’ai créé manuellement dans le cadre de certains tests. Mais après avoir redémarré le serveur, j’ai commencé à obtenir l’erreur dans cette question.

L’erreur est vraiment troublante. J’espère que les développeurs de Docker feront quelque chose. Il a fallu beaucoup d’essais et d’erreurs pour se déplacer. Merci à Stackoverflow et aux autres blogs. Dans mon cas, j’utilise Windows 10 Pro. Je me suis installé avec DockerToolbox.exe après plusieurs tentatives infructueuses avec Docker for Windows Installer.exe. Ensuite, j’ai rencontré Le suivi de ces étapes et le problème a été résolu. Tout d’abord, je suis allé à Panneau de configuration -> Activer ou désactiver des fonctionnalités Windows et décocher Hyper-V
entrer la description de l'image ici Ensuite, ouvrez PowerShell en tant qu’administrateur:

 docker-machine env --shell=powershell | Invoke-Expression type bcdedit /set hypervisorlaunchtype auto 

Redémarré mon système. Puis j’ai lancé “Docker Quickstart Terminal”, puis je l’ai entré dans la fenêtre shell.

 run "Docker for Windows" docker run hello-world 

Je me suis bien passé. Puis j’ouvre l’invite de commande

 docker run hello-world 

Il a donné l’erreur: Puis je suis entré

 set DOCKER_CERT_PATH=%USERPROFILE%\.docker\machine\machines\default set DOCKER_HOST=tcp://192.168.99.100:2376 set DOCKER_MACHINE_NAME=default set DOCKER_TLS_VERIFY=1 

La plupart des suggestions ci-dessus sont également utiles.

J’ai eu un problème similaire lorsque j’ai installé Docker CE pour Windows Version 17.11.0-ce-rc4-win39 (14244) Channel: edge e557194 sur Windows 10.

Dans les fenêtres Command / cmd, lorsque j’ai essayé d’exécuter les commandes docker ps, la version de docker, les informations sur le docker, j’ai eu une erreur comme «erreur lors de la connexion: Get http: //%2F%2F.%2Fpipe%2Fdocker_engine/v1.34/ version »à chaque fois.

Pour résoudre ce problème,

  1. J’ai désactivé «Hyper-V» (non coché) à partir de «Activer ou désactiver la fonctionnalité Windows», ce qui nécessitait le redémarrage du système d’exploitation.
  2. Et après le premier redémarrage, j’ai activé «Hyper-V» (Checked), ce qui nécessitait à nouveau le redémarrage du système d’exploitation.

Après le deuxième redémarrage, les commandes Docker ci-dessus ont commencé à fonctionner et à donner des résultats corrects.

Donc, éteindre Hyper-V et ensuite sur résoudre ce problème pour moi.

Je recevais cette erreur lors de l’exécution de la commande docker-compose up . Le problème pour moi était que le service docker ne fonctionnait pas. J’ai donc dû exécuter services.msc et démarrer le service docker.

entrer la description de l'image ici

J’ai résolu cette erreur en {DOCKER_TOOLBOX_INSTALL_PATH}start.sh le {DOCKER_TOOLBOX_INSTALL_PATH}start.sh en bash.

J’ai eu le même problème sur Windows 10. Trouvez ci-dessous ce que j’ai fait pour le résoudre:

Après avoir installé Docker, redémarrez simplement votre PC, exécutez l’application docker (il peut être nécessaire d’activer Hyper-V), puis ouvrez la ligne de commande et tapez: docker exécuter hello-world

Tout fonctionne bien 🙂

J’ai vu ce message d’erreur après un week-end. Ma configuration était correcte avant cela. Ma configuration et mes connexions semblaient correctes. $docker-machine restart default corrigé pour moi sur Windows 7