未设置DOCKER_REGISTRY变量。默认为空字符串

时间:2018-06-28 11:45:41

标签: visual-studio docker visual-studio-2017 .net-core

我在VisualStudio 2017中创建了一个新的DotNetCore 2.0 Web项目。 我的Docker在配置了Windows的Docker服务器主机的机器上运行。

在运行解决方案时,我遇到错误,

  

'未设置DOCKER_REGISTRY变量。默认为空白   字符串。”

构建myfirstdotnetcore服务“ myfirstdotnetcore”失败 构建:

  

获取https://registry-1.docker.io/v2/:net / http:请求被取消,而   等待连接(等待时超出了Client.Timeout   标头)。

9 个答案:

答案 0 :(得分:14)

我遇到了这个问题,并按照以下步骤进行了解决。

以管理员身份运行Visual Studio

您正在运行的Docker主机应登录到您的DockerHub帐户。

这很重要 造成此问题的主要原因是Visual Studio无法从Docker Hub下载Nano服务器映像。因此,请始终确保您从运行主机登录到dockerhub帐户

答案 1 :(得分:2)

我需要设置docker注册表环境变量。出于某些原因,路径需要小写。

[Environment]::SetEnvironmentVariable("DOCKER_REGISTRY", "d:\docker\registry\", "Machine")

答案 2 :(得分:2)

我在github上发现了以下相关问题:

TLDR;此错误具有误导性,并且可以掩盖Visual Studio当前吞下的多个内部docker错误(这些错误应该在生成输出中可见)-预计将在 Visual Studio 2017 15.8 中修复,但自15.8起.2这仍然是一个问题,并且该错误仍处于打开状态,因此我认为它仍在继续。

直到那时,普遍的共识似乎是,以下步骤组合应可解决大多数基本问题。 注意!重新启动计算机后,可能需要重复这些操作

  • 以管理员身份运行Visual Studio
  • 确保您已登录Docker-例如运行docker login
  • 为Windows重新启动Docker(右键单击系统托盘并选择重新启动)

我不确定上述顺序是否重要。

答案 3 :(得分:1)

在Docker设置->网络中,我如下将DNS服务器设置切换为“固定”,它对我有用!希望有帮助

enter image description here

答案 4 :(得分:0)

您有详细的错误消息吗? 我遇到了类似的问题,原来我的计算机上未启用虚拟化。

在电源外壳中运行'systeminfo',并确保已启用hyper-v

答案 5 :(得分:0)

我几乎就像@David Silwal所说的那样。

我以管理员身份运行Visual Studio。

我已经登录了docker hub帐户,但是即使那样,它也无法正常工作。

因此,我注销并再次登录。然后,它起作用了!

答案 6 :(得分:0)

只需清洁项目解决方案资源管理器并重建解决方案即可。

答案 7 :(得分:0)

  1. 以管理员身份运行Visual Studio
  2. 右键单击Docker托盘图标->重新启动

答案 8 :(得分:0)

我尝试了上述所有内容,但没有任何效果。对我来说,问题很简单,我没有名为DOCKER_REGISTRY的环境变量,因为它明确指出了错误,因此我创建了一个名为DOCKER_REGISTRY的系统环境变量,并为其指定了路径C:This的答案帮助了我。记住在创建变量后重新启动系统。