【问题标题】:Cannot run dotnet core 2.1 project on Docker无法在 Docker 上运行 dotnet core 2.1 项目
【发布时间】:2018-11-02 13:43:33
【问题描述】:

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

错误 DOCKER_REGISTRY 变量未设置。

我的 docker-compose.yml 文件

version: '3.4'

services:
  testdocker:
    image: ${DOCKER_REGISTRY}testdocker
    build:
      context: .
      dockerfile: TestDocker\Dockerfile

它的覆盖是:

version: '3.4'

services:
  testdocker:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
      - ASPNETCORE_URLS=https://+:443;http://+:80      
    ports:
      - "62412:80"
      - "44394:443"
    volumes:
      - ${APPDATA}/ASP.NET/Https:C:\Users\ContainerUser\AppData\Roaming\ASP.NET\Https:ro
      - ${APPDATA}/Microsoft/UserSecrets:C:\Users\ContainerUser\AppData\Roaming\Microsoft\UserSecrets:ro
networks:
  default:
    external:
      name: nat

有人可以指导我吗?我是 Docker 新手,我认为 VS 模板可以在安装 docker for winodw 后构建。 我发现了一个类似的问题here,但我不明白解决方案以及在哪里添加导出。

更多信息: 错误将我指向此文件: C:\Program Files (x86)\Microsoft Visual Studio\Preview\Community\MSBuild\Sdks\Microsoft.Docker.Sdk\build\Microsoft.VisualStudio.Docker.Compose.targets 363

【问题讨论】:

  • 您在输出窗口中看到了什么?我有多个错误,但总是以“错误 DOCKER_REGISTRY 变量未设置”结束。错误信息。检查输出窗口为我提供了有关实际问题的更多信息。
  • 错误 DOCKER_REGISTRY 变量未设置。默认为空字符串。构建 testdocker 无法为 API 版本 aka.ms/DockerToolsTroubleshootingdocker-compose C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Sdks\Microsoft.Docker.Sdk\build\Microsoft.VisualStudio.Docker.Compose。目标 363

标签: docker asp.net-core-2.1


【解决方案1】:

【讨论】:

  • 我认为不是同一个问题。我试图将 build: context: . dockerfile: TestDocker/Dockerfile 编辑为 build: context: ./TestDocker dockerfile: Dockerfile 。同样的错误仍然存​​在。 Error The DOCKER_REGISTRY variable is not set. Defaulting to a blank string. Building testdocker Impossible to perform platform-targeted builds for API version < 1.35. docker-compose C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Sdks\Microsoft.Docker.Sdk\build\Microsoft.VisualStudio.Docker.Compose.targets 363
【解决方案2】:

你有什么版本的 docker-compose?

docker-compose version

您运行的是 Docker Edge 频道还是 Docker Stable 频道?如果你正在运行边缘,你可能有导致这个问题的 docker-compose 1.21.2,我有同样的错误,切换到 Docker Stable 频道和 docker-compose 1.21.1 并且它可以工作。

【讨论】:

  • 我是 docker 新手,我只能在 docker-compose.yml 上看到 3.4 版并覆盖文件
  • 点击about时才找到版本。它是1.21.2,我正在使用docker edge。不知道怎么切换,是不是意味着我必须卸载 docker 并安装一个早期版本?
  • 我刚安装了1.21.2版本。我现在遇到另一个错误。未启用卷共享。在 Docker CE for Windows 设置中启用卷共享。
  • 防火墙正在阻止 Windows 和容器之间的文件共享。有关更多信息,请参阅文档。找到 [this (stackoverflow.com/questions/42203488/….this powershell 给出错误代码 HRESULT 0x80041013,Set-NetConnectionProfile
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-08
  • 1970-01-01
  • 2019-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-14
相关资源
最近更新 更多