web-dev-qa-db-fra.com

docker ne peut pas démarrer sur Windows

L'exécution de docker version renvoie les résultats suivants.

C:\Projects> docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   d8d3314
 Built:        Tue Nov  1 03:05:34 2016
 OS/Arch:      windows/AMD64
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/version: open //./pipe/docker_engine: The system cannot find the file
specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

L'exécution des diagnostics produit les éléments suivants:

C:\Projects> wget https://github.com/Microsoft/Virtualization- 
Documentation/raw/master/windows-server-container-tools/Debug- 
ContainerHost/Debug-ContainerHost.ps1 -UseBasicParsin | iex

Checking for common problems
Describing Windows Version and Prerequisites
 [+] Is Windows 10 Anniversary Update or Windows Server 2016 608ms
 [+] Has KB3192366, KB3194496, or later installed if running Windows build 14393 141ms
 [+] Is not a build with blocking issues 29ms
Describing Docker is installed
 [-] A Docker service is installed - 'Docker' or 'com.Docker.Service'  134ms
   Expected: value to not be empty
   27:         $services | Should Not BeNullOrEmpty
   at <ScriptBlock>, <No file>: line 27
 [+] Service is running 127ms
 [+] Docker.exe is in path 2.14s
Describing User has permissions to use Docker daemon
 [+] docker.exe should not return access denied 42ms
Describing Windows container settings are correct
 [-] Do not have DisableVSmbOplock set to 1 53ms
   Expected: {0}
   But was:  {1}
   66:              $regvalue.VSmbDisableOplocks | Should Be 0
   at <ScriptBlock>, <No file>: line 66
 [+] Do not have zz values set 42ms
Describing The right container base images are installed
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/images/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
 [-] At least one of 'Microsoft/windowsservercore' or 'Microsoft/nanoserver' should be installed 129ms
   ValidationMetadataException: The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
   ParameterBindingValidationException: Cannot validate argument on parameter 'Property'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
   at <ScriptBlock>, <No file>: line 90
Describing Container network is created
 [-] Error occurred in Describe block 1.08s
   RuntimeException: Cannot index into a null array.
   at <ScriptBlock>, <No file>: line 119
Showing output from: docker info

Showing output from: docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   d8d3314
 Built:        Tue Nov  1 03:05:34 2016
 OS/Arch:      windows/AMD64

Showing output from: docker network ls

Warnings & errors from the last 24 hours
Logs saved to C:\Projects\logs_20161107-084122.csv
C:\Projects>
32
Jim

Code d'erreur:

erreur lors de la connexion: Get http: //%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/version : open //./pipe/docker_engine: le système ne peut pas trouver le fichier spécifié. Dans le configuration du démon par défaut sous Windows, le client docker doit être exécuté élevé pour se connecter. Cette erreur peut également indiquer que le menu fixe le démon n'est pas en cours d'exécution.

Solutions:

1) Pour Windows 7 Command Window (cmd.exe), ouvrez cmd.exe en tant qu’administrateur et exécutez la commande suivante:

docker-machine env --Shell cmd default

Vous recevrez la sortie suivante:

SET DOCKER_TLS_VERIFY=1
SET DOCKER_Host=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\USER_NAME\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
SET COMPOSE_CONVERT_WINDOWS_PATHS=true
REM Run this command to configure your Shell:
REM @FOR /f "tokens=*" %i IN ('docker-machine env --Shell cmd default') DO @%i

Copiez la commande ci-dessous et exécutez-la sur cmd:

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

Et puis exécutez la commande suivante pour contrôler:

docker version

2) Sous Windows 7 Powershell, ouvrez powershell.exe en tant qu’administrateur et exécutez la commande suivante:

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

Et puis exécutez la commande suivante pour contrôler:

docker version

3) Si vous rouvrez cmd ou powershell, vous devez répéter les étapes correspondantes.

25
javasenior

Je sais que cette question remonte à longtemps, mais je n’ai pas trouvé d’explication ni de solution appropriées, alors espérons-le, ma réponse est utile :)

En supposant que vous installiez Docker Toolbox sous Windows, les deux commandes docker et docker-machine seront disponibles. Souvent, les gens se demandent quand utiliser l'un ou l'autre.

Les commandes docker sont utilisées uniquement dans une machine virtuelle pour gérer images. Les commandes docker-machine sont utilisées sur l'hôte pour gérer les machines virtuelles Linux.

Alors, veuillez utiliser les commandes docker-machine sur votre ordinateur Windows. Utilisez la commande docker dans votre machine virtuelle. Pour utiliser les commandes docker, par exemple, docker ps, vous pouvez ouvrir Docker Quickstart Terminal ou les exécuter sur votre cmd/bash/PowerShell:

docker-machine run default_/en supposant que par défaut est votre Linux VM /

docker-machine ssh default

Cela démarrera boot2docker et vous verrez l'icône du menu fixe sur la ligne de commande. Ensuite, vous pouvez utiliser les commandes docker.

Bonne chance :)

7
Thinh Turbo

Vous pouvez C:\Program Files\Docker\Docker> DockerCli.exe -SwitchDaemon et pointer Docker CLI sur des conteneurs Linux ou Windows. Cela a fonctionné pour moi.

4
Jdoe

Pour moi, le problème était que la virtualisation n'était pas activée.

Sur Windows 10: Allez dans le gestionnaire de tâches -> Performances -> CPU et vous devriez voir une section comme "Virtualization: Enabled"

Si vous ne voyez pas cette option, cela signifie que la virtualisation n'a pas été activée.

Une autre chose intéressante à noter est que vous devez activer Hyper V. Cependant, comme j'utilisais Parallels Desktop, je devais activer la "virtualisation imbriquée" pour que Hyper V soit "réellement activé". Ainsi, si votre Windows est une machine virtuelle, vérifiez les paramètres de Parallels (ou de ce que vous utilisez) pour lesquels la virtualisation imbriquée est activée.

3
Prasanth Louis

J'ai eu le même problème récemment. Le problème était que Security Software (Trendmicro) bloquait le menu fixe pour créer une interface réseau Hyperv. Vous devez également vérifier le pare-feu, que le logiciel audiovisuel ne bloque pas l’installation ou la configuration.

2
haltunbay

Pour win10 j'ai eu le même problème:

error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/images/load?quiet=0: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

Le service de docker semblait fonctionner. Le redémarrage n'a pas aidé. L'exécution du fichier binaire à partir du répertoire d'installation en tant qu'administrateur a aidé.

Dans mon cas:

run as administrator -> C:\Program Files\Docker\Docker\Docker for Windows.exe
1
Mateusz Wicher

Si vous avez installé docker sous Windows 10 Pro avec Hyper-V activé et que vous ne pouvez toujours pas exécuter Docker sous Windows 10, l'erreur vous suggérant que votre démon docker n'est pas démarré. Suivez les étapes suivantes, cela m'a aidé à démarrer docker avec succès. 
1. Utilisez la commande sur CMD (mode administrateur) docker-machine restart par défaut Alors vous obtiendrez un msg du type "ouvrir C:\Utilisateur\{nom d'utilisateur} \. Docker\machine\machines\default\config.json: le système ne trouve pas le fichier spécifié. " Accédez à l'icône du menu fixe qui se trouvera sur votre barre de tâches Windows (coin droit du bureau) . Puis Faites un clic droit sur l'icône du menu fixe - > setting-> Reset -> Redémarrez Docker Cela prendra quelques instants Le message "Docker fonctionne avec l'indicateur vert" s'affiche. 
Remarque: si vous avez déjà exécuté des conteneurs Docker sur votre système, ne suivez pas ces étapes. Vous risquez de perdre les conteneurs existants. enter image description here

1
Prabhat Maurya

Essayez d’exécuter ce qui suit à partir d’une invite de commande avec privilèges élevés:

SET DOCKER_CERT_PATH=C:\Users\[YourName]\.docker\machine\machines\default
SET DOCKER_Host=tcp://[yourDockerDeamonIp]:2376
SET DOCKER_MACHINE_NAME=default
SET DOCKER_TLS_VERIFY=1
SET DOCKER_TOOLBOX_INSTALL_PATH=C:\Program Files\Docker Toolbox

Vous pouvez également constater que même si vous ne définissez pas ces variables env, l’exécution de commandes à partir du terminal de démarrage rapide de docker ne pose aucun problème.

0
KidCode

J'utilise Windows 7 avec Docker Toolbox et je résous simplement y remédier Docker Quickstart Terminal.

$ docker version Client: Version: 17.05.0-ce version de l'API: 1.29 Aller à la version: go1.7.5 Commettre Git: 89658be Construit: Ven 5 Mai 15:36:11 2017 OS/Arch: fenêtres/AMD64

Serveur: Version: 17.05.0-ce Version de l'API: 1.29 (version minimale 1.12) Version Go: go1.7.5 Git commit: 89658be Construit: Jeu 4 Mai 21:43:09 2017 OS/Arch: linux/AMD64 Expérimental : faux

0
Xelian

Je cours dans le même problème. J'ai résolu ce problème en activant hyper-v.

  1. Activer la virtualisation dans le BIOS
  2. Installer hyper-v 
0
RedFox

C'est la solution finale .. ça marche pour moi ... !!

1) Trouvez la baleine dans votre barre d'état système et faites un clic droit

2) Allez dans les paramètres> Réinitialiser

3) Réinitialisation aux paramètres d'usine

0
Nava Ruban

J'ai eu la même erreur sur Windows. Il s'avère que je manquais la fonctionnalité de conteneur.

Install-WindowsFeature Containers

Redémarrer le serveur

Lorsque vous êtes opérationnel, assurez-vous que le service Docker est actif

0
Eric Herlitz

Pour moi, la solution consistait à désactiver un service VPN. Pendant le travail, connecté à un VPN, l’erreur mentionnée apparaît. J'éteins le VPN, puis le menu fixe a fonctionné comme prévu sous Windows 10. La commande ci-dessous (une fois terminée) vous renvoie à l'invite python interactive ">>>" et installe les versions simplejson et requests

docker run --rm -ti -v `pwd`:/tmp jfloff/Alpine-python:2.7-slim -p simplejson -p requests
0
Adam T

si vous êtes dans Windows, essayez ceci

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

pour tester essayer 

docker run hello-world
0
RahulG

Démarrez "Bureau Docker" pour Windows en tant qu'administrateur + PowerShell ou ce qui a déjà été utilisé en tant qu'administrateur. Résolu pour moi!

0
user7023213

J'utilise la fenêtre 10 et j'ai effectué les étapes ci-dessous pour résoudre ce problème.

  1. check La virtualisation est activée à partir de taskmanager -> performance 
  2. Redémarrage du service de menu fixe 
  3. Installez la dernière version de docker et redémarrez la machine.
  4. Assurez-vous que le service de menu fixe est en cours d'exécution.

Les étapes ci-dessus m'ont aidé à résoudre le problème.

0
Dileep

J'ai résolu ce problème en suivant les étapes A.

Service de démarrage "Gestion de machine virtuelle Hyper-V" Service de démarrage "Service de calcul d’hôte Hyper-V" OU

B. Si vous obtenez une erreur, appliquez les étapes ci-dessous: -

1, ouvrez "Sécurité de la fenêtre"

2, ouvrez "Contrôle de l'application et du navigateur"

3, cliquez sur "Exploiter les paramètres de protection" en bas

4, passer à l'onglet "Paramètres du programme"

5, localisez "C:\WINDOWS\System32\vmcompute.exe" dans la liste et développez-le

6, cliquez sur "Modifier"

7, faites défiler jusqu'à "Code flow guard (CFG)" et décochez "Remplacer les paramètres système"

8, Démarrer vmcompute à partir de powershell "net start vmcompute"

Ensuite, redémarrez votre système

0
MayankGaur

Pour moi, l'erreur a été résolue par arrêt d'une instance virtuelle Ubunt exécutée dans Hyper-V:

The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

Une fois que l'instance Ubuntu a été arrêtée et que Docker Desktop a été redémarré, mes commandes habituelles du menu fixe fonctionnaient parfaitement.

PS: J’ai eu l’idée de l’essayer à cause d’un journal d’erreurs que Docker Desktop avait compilé et proposé d’envoyer à Docker Hub en tant que retour d’information ... le journal semblait indiquer que ma machine manquait de mémoire vive, et Docker échouait pour cette raison très simple. Tuer l'instance Ubuntu a résolu cela.

0
olisteadman

Je recevais les mêmes erreurs après une installation sur Windows 10. Et j’ai essayé de redémarrer mais cela ne fonctionnait pas, j’ai donc fait ce qui suit ( ne recommande pas si vous travaillez dans docker depuis un moment, c’était sur un nouveau installer):

1) Trouvez la baleine dans votre barre d'état système et faites un clic droit

2) Allez dans les paramètres> Réinitialiser

3) Réinitialisation aux paramètres d'usine

J'ai ensuite pu suivre le didacticiel de démarrage du docker sur le site Web avec Windows 10, et maintenant, il fonctionne à merveille.

0
Alec