Docker: An error occurred trying to connect

大城市里の小女人 提交于 2019-12-03 06:01:29

问题


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.


回答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):

  1. docker-machine start default or create new one
  2. docker-machine lswill show you your machine running
  3. docker-machine env --shell cmd default and you'll see something like

    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
    
  4. Run FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO %i
  5. Enjoy



回答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:\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

Execute last displayed command to configure your shell:

& "C:\Program Files\Docker Toolbox\docker-machine.exe" env --shell powershell | Invoke-Expression



回答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



回答4:


All I got to do was to run

docker-machine env --shell cmd default

and then

eval "$(boot2docker shellinit)"



回答5:


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:\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...

Sadly, it did not work. Even running docker in an Admin shell fails.




回答6:


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.



来源:https://stackoverflow.com/questions/35071536/docker-an-error-occurred-trying-to-connect

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!