Installé Docker sous Windows avec 2 installations supplémentaires, Oracle VM VirualBox et Kitematic. J'ai désactivé Hyper-V sur mon ordinateur Windows 10. Maintenant, le problème est que je ne peux télécharger aucune image Docker à partir de DockerHub, même moi je ne peux pas exécuter la commande en tant que
Docker info
Aux deux extrémités, l'erreur suivante apparaît.
Une erreur s'est produite lors de la tentative de connexion: obtenez http: // localhost: 2375/v1.21/info : composez le TCP 127.0.0.1:2375: ConnectEx tcp: Aucune connexion n’a pu être établie car la machine cible est active a refusé.
Si je l'exécute dans Docker QuickStart Terminal, cela fonctionne, mais pas dans PowerShell ou dans MSBuild.
Si vous utilisez la commande windows Invite au lieu de Docker QuickStart Terminal, voir documentation officielle , procédez comme suit (en supposant que votre docker porte le nom default):
docker-machine start default
ou en créer un nouveaudocker-machine ls
affichera votre machine en marchedocker-machine env --Shell cmd default
et vous verrez quelque chose comme
SET DOCKER_TLS_VERIFY=1
SET DOCKER_Host=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\Arseny\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
REM Run this command to configure your Shell:
REM FOR /f "tokens=*" %i IN ('docker-machine env --Shell cmd default') DO %i
FOR /f "tokens=*" %i IN ('docker-machine env --Shell cmd default') DO %i
J'ai la même erreur sur Windows 7 à l'intérieur de Docker Terminal. Je devais donc faire ce qui suit. Au cas où quelqu'un comme moi est à la recherche de cela.
$ docker-machine rm default
$ docker-machine create --driver virtualbox default
Si vous souhaitez utiliser PowerShell (sous Windows 7) à la place de Docker Quickstart Terminal, entrez les commandes suivantes pas à pas dans votre terminal powershell:
NOTE: Vous devez d'abord démarrer le Docker Quickstart Terminal avant le effectuer des opérations ci-dessous
docker-machine.exe env --Shell powershell
il affichera les commandes ci-dessous sur le terminal:
$Env:DOCKER_TLS_VERIFY = "1"
$Env:DOCKER_Host = "tcp://192.168.99.100:2376"
$Env:DOCKER_CERT_PATH = "C:\Users\pratikpat\.docker\machine\machines\default"
$Env:DOCKER_MACHINE_NAME = "default"
# Run this command to configure your Shell:
# & "C:\Program Files\Docker Toolbox\docker-machine.exe" env --Shell powershell | Invoke-Expression
Exécutez la dernière commande affichée pour configurer votre shell:
& "C:\Program Files\Docker Toolbox\docker-machine.exe" env --Shell powershell | Invoke-Expression
Quand cela m'est arrivé, j'étais un utilisateur secondaire, en d'autres termes Docker
installé sous un compte différent. J'ai donc essayé de [re] créer la machine en tant qu'administrateur:
C:\WINDOWS\system32>docker-machine create --driver "hyperv" default
Creating CA: C:\Users\nonAdmin\.docker\machine\certs\ca.pem
Creating client certificate: C:\Users\nonAdmin\.docker\machine\certs\cert.pem
Running pre-create checks...
(default) Image cache directory does not exist, creating it at C:\Users\nonAdmin\.docker\machine\cache...
(default) No default Boot2Docker ISO found locally, downloading the latest release...
(default) Latest release for github.com/boot2docker/boot2docker is v1.12.3
(default) Downloading C:\Users\nonAdmin\.docker\machine\cache\boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v1.12.3/boot2docker.iso...
(default) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
Creating machine...
(default) Copying C:\Users\nonAdmin\.docker\machine\cache\boot2docker.iso to C:\Users\nonAdmin\.docker\machine\machines\default\boot2docker.iso...
(default) Creating SSH key...
(default) Creating VM...
(default) Using switch "DockerNAT"
(default) Creating VHD
(default) Starting VM...
(default) Waiting for Host to start...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Malheureusement, cela n'a pas fonctionné. Même exécuter docker
dans un shell d’administrateur échoue.
Tout ce que je devais faire était de courir
docker-machine env --Shell cmd default
et alors
eval "$(boot2docker shellinit)"