无法在Docker上运行Dot net core预览项目

时间:2018-04-12 11:50:31

标签: docker asp.net-core-2.0

我刚刚使用最新的.Net Core Preview sdks创建了一个Web应用程序。 我试图在Linux Docker上运行它但是项目没有构建 我收到的错误是:

错误未设置DOCKER_REGISTRY变量。
默认为空白字符串。使用默认驱动程序创建网络“dockercompose11433628216532645154_default” 构建testapppreview2
服务'testapppreview2'无法构建:microsoft / aspnetcore的清单:2.1未找到。

我的docker-compose.yml文件

version: '3.4'
services:
  testapppreview2:
    image: ${DOCKER_REGISTRY}testapppreview2
    build:
      context: .
      dockerfile: TestAppPreview2/Dockerfile

它的覆盖是:

version: '3.4'
services:
  testapppreview2:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
    ports:
      - "80"

有人可以指点我指点吗?

进一步资料:
错误将我指向此文件:
C:\ Program Files(x86)\ Microsoft Visual Studio \ Preview \ Community \ MSBuild \ Sdks \ Microsoft.Docker.Sdk \ build \ Microsoft.VisualStudio.Docker.Compose.targets 363

3 个答案:

答案 0 :(得分:4)

当您收到此错误时,您应该查看Output -> Docker,通常会显示问题所在。可能是您尝试覆盖的容器正在运行。或者其他一些配置问题。

通过阅读Docker Output,您应该能够快速推断出问题所在并进行修复。太糟糕了,Visual Studio没有指示您这样做,但现在只给出这个通用的The DOCKER_REGISTRY variable is not set错误。

答案 1 :(得分:0)

由于错误指出Error The DOCKER_REGISTRY variable is not set. - 您应该将其添加到您的环境变量中。

为此,只需在cli中输入以下带有相应注册URL的命令:

export DOCKER_REGISTRY=<your-docker-registry>

答案 2 :(得分:0)

回应有点晚。我遇到了这个问题,并按照以下步骤解决了。

  
      
  1. 以管理员身份运行Visual Studio
  2.   
  3. 您正在运行的Docker主机应登录到您的DockerHub帐户。这个非常重要。提到的ENV变量已在此步骤后设置。
  4.   

此问题的主要原因是Visual Studio无法从docker hub下载nano服务器映像,因为它看不到任何dockerhub详细信息。因此,请务必确保您已从运行docker host的状态登录到dockerhub帐户,或者可以手动设置此注册表,我认为这不是一个完美的方法。

您可以通过Visual Studio输出窗口进行验证。