Docker build pull access denied, repository不存在或可能需要



我试图在不使用Visual Studio的情况下生成Docker图像。我在项目文件夹中,我从windows 10管理命令行docker build .执行,我不知道如何使这项工作。

[+] Building 1.3s (8/9)
=> [internal] load build definition from Dockerfile                                              0.0s
=> => transferring dockerfile: 753B                                                              0.0s
=> [internal] load .dockerignore                                                                 0.0s
=> => transferring context: 34B                                                                  0.0s
=> [internal] load metadata for mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim             0.0s
=> [base 1/2] FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim                          0.0s
=> ERROR FROM docker.io/publish/app:latest                                                       1.2s
=> => resolve docker.io/publish/app:latest                                                       1.2s
=> CACHED [base 2/2] WORKDIR /app                                                                0.0s
=> CACHED [final 1/2] WORKDIR /app                                                               0.0s
=> [auth] publish/app:pull token for registry-1.docker.io                                        0.0s
------
> FROM docker.io/publish/app:latest:
------
failed to load cache key: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
这是我的dockerfile:
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["src/App.Web/App.Web.csproj", "src/App.Web/"]
RUN dotnet restore "App.Web.csproj"
COPY . .
WORKDIR "/src/App.Web"
RUN dotnet build App.Web.csproj -c Debug -o /app
FROM build as debug
RUN dotnet publish "App.Web.csproj" -c Debug -o /app
FROM base as final
WORKDIR /app
COPY --from=publish/app /app .
ENTRYPOINT ["dotnet","App.Web.dll"]

有三个阶段,分别是基础阶段、构建阶段和调试阶段。在最后一个阶段,你有:

COPY --from=publish/app /app .

当docker找不到具有该名称的阶段publish/app时,它尝试找到不存在的映像。我猜你想从构建阶段复制,例如

COPY --from=build /app .

您登录了吗?尝试使用docker login,然后再次执行docker build

正如我在这里看到的那样,在docker hub中,你打算使用的存储库已经被重命名了。使用下面的

from mcr.microsoft.com/dotnet/aspnet:3.1-buster-slim

存储库已经被重命名,类似的问题可以在这里找到类似的问题

最新更新