无法构建:获取https://registry-1.docker.io/v2/microsoft/aspnetcore/manifests/1.1:未授权:用户名或密码不正确

问题描述 投票:9回答:2

我的aspnetcore docker项目构建,但是当我单击Docker按钮(或按F5)运行时,我得到了

Severity    Code    Description Project File    Line    Suppression State
Error   MSB4018 The "PrepareForLaunch" task failed unexpectedly.
Microsoft.DotNet.Docker.CommandLineClientException: Creating network "dockercompose1627893588_default" with the default driver
Building pswebapi
Service 'pswebapi' failed to build: Get https://registry-1.docker.io/v2/microsoft/aspnetcore/manifests/1.1: unauthorized: incorrect username or password.

For more troubleshooting information, go to http://aka.ms/DockerToolsTroubleshooting ---> Microsoft.DotNet.Docker.CommandLineClientException: Creating network "dockercompose1627893588_default" with the default driver
Building pswebapi
Service 'pswebapi' failed to build: Get https://registry-1.docker.io/v2/microsoft/aspnetcore/manifests/1.1: unauthorized: incorrect username or password
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.DotNet.Docker.DockerComposeClient.<ExecuteAsync>d__18.MoveNext()
   --- End of inner exception stack trace ---
   at Microsoft.DotNet.Docker.DockerComposeClient.<ExecuteAsync>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.DotNet.Docker.DockerWorkspace.<PrepareForLaunchAsync>d__14.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.DotNet.Docker.BuildTasks.DockerBaseTask.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() docker-compose  C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\Docker\Microsoft.VisualStudio.Docker.Compose.targets  192 

我有C:使用Docker设置共享。我正在使用linux容器

Dockerfile是

FROM microsoft/aspnetcore:1.1
ARG source
WORKDIR /app
EXPOSE 80
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["dotnet", "PsWebApi.dll"]

我已升级到最新的nuget包。

docker asp.net-core dockerhub
2个回答
9
投票

用于登录dockerhub的user id和相应的email在这种情况下实际上是两个不同的东西。

一个人需要id,用户名,而不是email来获得images


解决

通过做一个改变两者之间

> docker logout

然后在命令行上

> docker login

并使用您的id登录。

请注意,在您使用电子邮件登录后,可以在docker站点上找到id

系统将提示您输入凭据。同样,对于该用户名,请不要使用电子邮件地址。


1
投票

我在最新的ASP.NET Core模板中也遇到了同样的问题。以下修复对我有用。

  • 打开Package Manager Console窗口。
  • 运行命令docker logout

enter image description here

然后再次运行/调试(F5)应用程序。

一方面需要注意的是,您需要在Docker中切换到Windows容器。否则你会看到另一个错误:image operating system "windows" cannot be used on this platform

© www.soinside.com 2019 - 2024. All rights reserved.