74 votes

Les commandes Docker échouent (sous Windows)

J'essaie d'utiliser Docker sur une machine Windows et je suis frappé par tous les problèmes possibles, semble-t-il. Le dernier en date est le suivant : Ma machine fonctionne mais je ne peux pas interagir avec elle en utilisant les commandes Docker. Si j'exécute 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, un chemin est tout chamboulé. Quelqu'un sait-il de quel chemin il s'agit et comment le réparer ?

1 votes

Dans le plateau, Docker est en cours d'exécution, mais dans Docker->Réglages, le statut est le suivant : impossible de démarrer. Cliquez sur Redémarrer Docker pour corriger l'erreur

0 votes

Quelle version de Windows utilisez-vous ?

60voto

jan.supol Points 1621

Modifier (2021) - Cette réponse concerne l'ancienne boîte à outils Docker, et non Docker Desktop.

En cours d'exécution docker ps et de recevoir :

Une erreur s'est produite lors de la tentative de connexion : Get 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 le %USERPROFILE%\.docker\machine\machines\default est le chemin par défaut où le cert.pem , key.pem , ca-key.pem y ca.pem Les fichiers docker sont : le nom de la machine virtuelle (créé par docker-machine create ) est default et la limite inférieure du serveur DHCP de Virtual Box (trouvée dans VirtualBox->Fichier->Préférences->Network->Host-only Networks->surveiller la souris sur VirtualBox Host-Only Ethernet Adapter) est 192.168.99.100 et aucune autre VM ne tourne dans VirtualBox.

0 votes

Merci, cela fonctionne pour moi, mais je dois exécuter ces commandes à chaque fois que j'ouvre mon invite de commande. Y a-t-il un moyen de définir les valeurs de façon permanente ?

2 votes

1 votes

Après avoir défini les paramètres, j'obtiens le message suivant : Une erreur s'est produite lors de la tentative de connexion : Post xxx.xx.xx:2376/v1.24/imag es/create?fromImage=hello-world&tag=latest : dial tcp xx.xxx.xx.xx:2376 : connec tex : Une tentative de connexion a échoué car la partie connectée n'a pas répondu correctement après un certain temps, ou une connexion établie a échoué car l'hôte connecté n'a pas répondu. Où xxx est la limite inférieure.

19voto

r590 Points 31

Même problème ici 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 Fichiers \Docker Boîte à outils \docker -machine.exe" env défaut)

Ensuite, vous pourrez exécuter "docker run hello-world".

17voto

aurath Points 429

Je rencontre ce problème lorsque j'utilise docker-machine et que je n'ai pas exécuté l'option docker-machine env après le redémarrage. Je ne suis pas sûr de savoir comment le faire dans cmd.exe, mais si vous utilisez powershell, essayez de lancer cette commande :

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

1 votes

Cela a fonctionné pour moi, savons-nous pourquoi cela résout ce problème ? Avant, je n'en avais pas, mais je pense qu'une mise à jour de MS a cassé Docker. J'aimerais une solution permanente.

1 votes

@hamsterofdark docker-machine env affiche la commande permettant de configurer votre shell pour utiliser le client Docker, quel que soit le shell (il tente de détecter le shell automatiquement si vous n'incluez pas l'option shell paramètre). La réponse d'Aurath invoque immédiatement la commande retournée.

6 votes

Error: No machine name(s) specified and no "default" machine exists

10voto

Dunken Points 1099

Assurez-vous que Hyper-V est en place et fonctionne :

  • ouvrir une invite de commande élevée
  • tipo bcdedit /set hypervisorlaunchtype auto
  • redémarrer
  • Exécutez "Docker pour Windows".

5 votes

Pour dissiper une certaine confusion : l'installation de Docker sur Windows comporte deux versions : "Docker Toolbox" (ancienne version, utilise VirtualBox) et "Docker pour Windows" (version plus récente, utilise Hyper-V natif). Si vous utilisez Docker Toolbox, consultez les autres réponses. Si vous utilisez Docker pour Windows, utilisez cette réponse.

5voto

Sunil Points 118

J'ai créé une nouvelle machine en utilisant la commande suivante

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

Puis j'ai exécuté la commande

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

Je l'ai fait fonctionner...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X