为什么 docker-compose 突然因 ERROR 内部加载元数据而失败?

新手上路,请多包涵

我已经运行 docker-compose build 好几天了,每天很多次,并且没有更改我的 DOCKERFILEs 或 docker-compose.yml。突然一个小时前,我开始得到这个:

 Building frontdesk-api
failed to get console mode for stdout: The handle is invalid.
[+] Building 10.0s (3/4)
 => [internal] load build definition from Dockerfile                       0.0s
[+] Building 10.1s (4/4) FINISHED
 => [internal] load build definition from Dockerfile                       0.0s
 => => transferring dockerfile: 32B                                        0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
 => ERROR [internal] load metadata for mcr.microsoft.com/dotnet/sdk:5.0.  10.0sailed to do request: Head https://mcr.microsoft.com/v2/dotnet/sdk/manifests/5.0.201-buster-slim: dial tcp: lookup mcr.microsoft.com on 192.168.65.5:53:
 => [internal] load metadata for mcr.microsoft.com/dotnet/aspnet:5.0-bust  0.0s
------
 > [internal] load metadata for mcr.microsoft.com/dotnet/sdk:5.0.201-buster-slim:
------
ERROR: Service 'frontdesk-api' failed to build

我尝试过的事情:

  • 再次运行它
  • docker rm -f $(docker ps -a -q)
  • docker login
  • 不同的 SDK 镜像

这是码头文件:

 FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:5.0.201-buster-slim AS build
WORKDIR /app
# run this from repository root
COPY ./ ./
#RUN ls -lha .

RUN echo 'Building FrontDesk container'

WORKDIR /app/FrontDesk/src/FrontDesk.Api
#RUN ls -lha .
RUN dotnet restore

RUN dotnet build "FrontDesk.Api.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "FrontDesk.Api.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "FrontDesk.Api.dll"]

我怎样才能让我的构建再次工作?

原文由 ssmith 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

mcr.microsoft.com 目前已关闭

拉动时我收到几个不同的错误:

 % docker pull mcr.microsoft.com/dotnet/sdk:5.0
Error response from daemon: Get https://mcr.microsoft.com/v2/: Service Unavailable

% docker pull mcr.microsoft.com/dotnet/sdk:5.0
5.0: Pulling from dotnet/sdk
received unexpected HTTP status: 500 Internal Server Error

原文由 Joe Phillips 发布,翻译遵循 CC BY-SA 4.0 许可协议

对我有用的解决方案是通过运行删除 .docker/config.json

 rm  ~/.docker/config.json

然后 docker-compose up your-services 应该工作

原文由 Carlos 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Stack Overflow 翻译
子站问答
访问
宣传栏