VS2017构建失败-DOCKER_注册表

VS2017构建失败-DOCKER_注册表,docker,visual-studio-2017,.net-core,Docker,Visual Studio 2017,.net Core,我刚开始学习Docker,熟悉.NET Core和Visual Studio 2017。我已经创建了一个名为“WebApplicationCor21”的新Web应用程序(Razor Pages),启用了Docker支持,并收到了一个漂亮的Docker文件 FROM microsoft/dotnet:2.1-aspnetcore-runtime-nanoserver-1709 AS base WORKDIR /app EXPOSE 62911 EXPOSE 44323 FROM microsof

我刚开始学习Docker,熟悉.NET Core和Visual Studio 2017。我已经创建了一个名为“WebApplicationCor21”的新Web应用程序(Razor Pages),启用了Docker支持,并收到了一个漂亮的Docker文件

FROM microsoft/dotnet:2.1-aspnetcore-runtime-nanoserver-1709 AS base
WORKDIR /app
EXPOSE 62911
EXPOSE 44323

FROM microsoft/dotnet:2.1-sdk-nanoserver-1709 AS build
WORKDIR /src
COPY WebApplicationCore21/WebApplicationCore21.csproj WebApplicationCore21/
RUN dotnet restore WebApplicationCore21/WebApplicationCore21.csproj
COPY . .
WORKDIR /src/WebApplicationCore21
RUN dotnet build WebApplicationCore21.csproj -c Release -o /app

FROM build AS publish
RUN dotnet publish WebApplicationCore21.csproj -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebApplicationCore21.dll"]
当项目构建正常时,它在运行时出现错误(F5),说明:

Description: The DOCKER_REGISTRY variable is not set. Defaulting to a blank string.
Project: docker-compose
File: Microsoft.VisualStudio.Docker.Compose.targets
Line: 363
已验证的步骤:

  • 在主板和Windows 10 Pro中启用Hyper-V
  • 已安装Windows Docker
  • 可以同时登录Docker Hub和客户端
  • 将Docker客户端从Linux切换到Windows容器
我还注意到,尽管我可以使用集线器凭据登录Docker客户端,但尝试在PowerShell中运行
Docker login
,并使用相同的用户名/密码会产生以下结果:

Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password

这可能是有益的,也可能是无关的;我只需要从VS2017运行。

选项01-您可能需要替换
图像:${DOCKER\u REGISTRY}xxxxxxxx
在您的
docker compose.yml中使用
image:xxxxxx

Option-02将名为DOCKER\u REGISTRY value的env变量添加到任何文件夹。如果出现任何错误,如名称必须为小写,则将
DOCKER\u REGISTRY
的大小写更改为
DOCKER\u REGISTRY


docker compose.yml
应该在您的解决方案目录中。

选项01-您可能需要替换
图像:${docker\u REGISTRY}xxxxxxxx
在您的
docker compose.yml中使用
image:xxxxxx

Option-02将名为DOCKER\u REGISTRY value的env变量添加到任何文件夹。如果出现任何错误,如名称必须为小写,则将
DOCKER\u REGISTRY
的大小写更改为
DOCKER\u REGISTRY

docker compose.yml
应该在您的解决方案目录中。

我今天早上根据
未经授权:用户名或密码不正确的错误找到了我的解决方案

当我在系统托盘中检查Docker for Windows时,我使用Docker Hub电子邮件地址登录。Docker for Windows认为这是可以接受的,这具有误导性。这样做会给与之交互的应用程序带来麻烦,比如VS2017。改用我的Docker Hub用户名解决了这个问题。

我今天早上发现我的问题,原因是
未经授权:用户名或密码不正确
错误


当我在系统托盘中检查Docker for Windows时,我使用Docker Hub电子邮件地址登录。Docker for Windows认为这是可以接受的,这具有误导性。这样做会给与之交互的应用程序带来麻烦,比如VS2017。使用我的Docker Hub用户名解决了这个问题。

添加为系统变量…我们要将哪个文件夹设置到任何文件夹。但是添加为系统变量…我们要将哪个文件夹设置到任何文件夹。但是添加为系统变量…我们要将哪个文件夹设置到任何文件夹。但是添加为vs具有写入权限的位置。这太愚蠢了。我刚开始涉足Docker,像这样的东西在我嘴里留下了一个坏味道。。。这提醒了我为什么坚持使用微软技术。无论如何,谢谢你的解决方案!哇,愚蠢到了极点,我不敢相信他们直到现在才解决这个问题。谢谢你帮我节省了很多时间那太愚蠢了。我刚开始涉足Docker,像这样的东西在我嘴里留下了一个坏味道。。。这提醒了我为什么坚持使用微软技术。无论如何,谢谢你的解决方案!哇,愚蠢到了极点,我不敢相信他们直到现在才解决这个问题。谢谢你为我节省了很多时间