[Solved] Docker: An error occurred trying to connect
Installed Docker on Windows with 2 additional installs, Oracle VM VirualBox and Kitematic. I’ve disabled Hyper-V in my Windows 10 PC. Now the problem is I can’t download any Docker images from DockerHub, not even I can run the command as
Docker info
At both ends it shows the following error.
An error occurred trying to connect: Get
http://localhost:2375/v1.21/info: dial tcp 127.0.0.1:2375: ConnectEx
tcp: No connection could be made because the target machine actively
refused it.
If I run it in Docker QuickStart Terminal it works, but not working in PowerShell or in MSBuild.
Solution #1:
If you are using windows command prompt instead of Docker QuickStart Terminal see official docs you should make following steps (assuming your docker machine has the name default):
docker-machine start default
or create new onedocker-machine ls
will show you your machine running-
docker-machine env --shell cmd default
and you’ll see something likeSET DOCKER_TLS_VERIFY=1 SET DOCKER_HOST=tcp://192.168.99.100:2376 SET DOCKER_CERT_PATH=C:UsersArseny.dockermachinemachinesdefault 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
- Run
FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO %i
- Enjoy
Solution #2:
If you want to use PowerShell (in Windows 7) instead of Docker Quickstart Terminal then enter following commands step by step in your powershell terminal:
NOTE: You must have to start Docker Quickstart Terminal first before
performing below operations
docker-machine.exe env --shell powershell
it will display below commands on terminal:
$Env:DOCKER_TLS_VERIFY = "1"
$Env:DOCKER_HOST = "tcp://192.168.99.100:2376"
$Env:DOCKER_CERT_PATH = "C:Userspratikpat.dockermachinemachinesdefault"
$Env:DOCKER_MACHINE_NAME = "default"
# Run this command to configure your shell:
# & "C:Program FilesDocker Toolboxdocker-machine.exe" env --shell powershell | Invoke-Expression
Execute last displayed command to configure your shell:
& "C:Program FilesDocker Toolboxdocker-machine.exe" env --shell powershell | Invoke-Expression
Solution #3:
I got same error on Windows 7 inside Docker Terminal. So I had to do the following. In case somebody like me is searching for this.
$ docker-machine rm default
$ docker-machine create --driver virtualbox default
Solution #4:
When it happened to me I was a secondary user, in other words Docker
installed under a different account. So I tried [re]creating the machine as Admin:
C:WINDOWSsystem32>docker-machine create --driver "hyperv" default
Creating CA: C:Users
onAdmin.dockermachinecertsca.pem
Creating client certificate: C:Users
onAdmin.dockermachinecertscert.pem
Running pre-create checks...
(default) Image cache directory does not exist, creating it at C:Users
onAdmin.dockermachinecache...
(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
onAdmin.dockermachinecacheoot2docker.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
onAdmin.dockermachinecacheoot2docker.iso to C:Users
onAdmin.dockermachinemachinesdefaultoot2docker.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...
Sadly, it did not work. Even running docker
in an Admin shell fails.
Solution #5:
you can solve problem on docker dekstop to;
Under Settings->General do you have Expose daemon on tcp://localhost:2375 without TLS enabled? You need to if you want to access the daemon as described.
Solution #6:
All I got to do was to run
docker-machine env --shell cmd default
and then
eval "$(boot2docker shellinit)"