Docker:尝试连接时发生错误

时间:2016-01-28 20:37:29

标签: docker windows-10 dockerhub

在Windows上安装了Docker,另外还安装了2个Oracle VM VirualBox和Kitematic。我在Windows 10 PC中禁用了Hyper-V。现在的问题是我无法从DockerHub下载任何Docker镜像,甚至我都无法运行命令

Docker info

两端都显示以下错误。

  

尝试连接时出错:Get   http://localhost:2375/v1.21/info:拨打tcp 127.0.0.1:2375:ConnectEx   tcp:无法建立连接,因为目标计算机是主动的   拒绝了。

如果我在Docker QuickStart终端中运行它,它可以工作,但不能在PowerShell或MSBuild中运行。

6 个答案:

答案 0 :(得分:24)

如果您使用的是Windows命令提示符而不是Docker QuickStart Terminal,请参阅official docs,您应该执行以下步骤(假设您的docker机器名称为默认):

  1. docker-machine start default或创建新的
  2. docker-machine ls会向您显示正在运行的计算机
  3. docker-machine env --shell cmd default,您会看到类似

    的内容
    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. 运行FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO %i
  5. 享受

答案 1 :(得分:1)

如果您想使用PowerShell(在Windows 7中)而不是Docker Quickstart Terminal,请在您的powershell终端中逐步输入以下命令:

  

注意:您必须先启动Docker Quickstart Terminal   执行以下操作

docker-machine.exe env --shell powershell它将在终端上显示以下命令:

$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

执行上次显示的命令以配置shell:

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

答案 2 :(得分:1)

我在Docker终端内的Windows 7上遇到了同样的错误。所以我必须做以下事情。如果像我这样的人正在寻找这个。

$ docker-machine rm default
$ docker-machine create --driver virtualbox default

答案 3 :(得分:0)

我所要做的就是跑

docker-machine env --shell cmd default

然后

eval "$(boot2docker shellinit)"

答案 4 :(得分:0)

当发生在我身上时,我是次要用户,换句话说,Docker安装在不同的帐户下。所以我尝试[重新]创建机器作为管理员:

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

可悲的是,它没有用。即使在Admin shell中运行docker也会失败。

答案 5 :(得分:0)

您可以在docker dekstop上解决问题;

在“设置”->“常规”下,您是否在未启用TLS的tcp:// localhost:2375上具有Expose守护程序?如果要按说明访问守护程序,则需要这样做。