拉取访问被拒绝,存储库不存在或可能需要授权:服务器消息:不够范围:授权失败

Phi*_*lcz 3 c# docker .net-core dockerfile azure-devops

我在构建 dotnet 核心映像时遇到问题。当我运行时docker pull mcr.microsoft.com/dotnet/sdk:3.1,这有效,但当我执行以下操作时,我的 dockerfile 构建会抛出错误“无法加载缓存密钥:拉取访问被拒绝,存储库不存在或可能需要授权:服务器消息:不够范围:授权失败docker build -t weatherapi -f Dockerfile .

FROM mcr.microsoft.com/dotnet/sdk:3.1

WORKDIR /app

COPY *.csproj . 

RUN dotnet restore 

COPY . . 

RUN dotnet publish -c release -o out

FROM mcr.microsoft.com/dotnet/aspnet:3.1

WORKDIR /app

EXPOSE 80

COPY --from=build /app/out .

ENTRYPOINT ["dotnet" "weather.dll"]
Run Code Online (Sandbox Code Playgroud)

Mat*_*man 13

看起来您已经有了一个多阶段 Dockerfile,但尚未命名任何阶段。具体来说,该行引用了一个名为未定义的COPY --from=build /app/out .阶段。build这应该可以解决问题(注意第一行定义了阶段build):

FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build

WORKDIR /app

COPY *.csproj . 

RUN dotnet restore 

COPY . . 

RUN dotnet publish -c release -o out

FROM mcr.microsoft.com/dotnet/aspnet:3.1

WORKDIR /app

EXPOSE 80

COPY --from=build /app/out .

ENTRYPOINT ["dotnet" "weather.dll"]
Run Code Online (Sandbox Code Playgroud)