docker - 为什么 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"]
我怎样才能让我的构建再次工作?
解决方案
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
推荐阅读
- angularjs - 如何模拟包含第三方对象的窗口对象
- javascript - ReactJS 多输入问题 setState 和 state
- selenium - 捕获以文本框和可编辑格式显示的警报消息文本
- linux - 如何在 Linux Centos 7 上安装 Gnatcoll Postgres
- java - JaversException COMMITTING_TOP_LEVEL_VALUES_NOT_SUPPORTED
- c# - 如何将方法“utilities.DecryptStringFromBase64String”的调用限制为一次
- tensorflow - Tensorflow 在 Eager Execution 模式下循环切片分配给变量
- java - 如何防止 Eclipse 中出现流利的资源泄漏警告?
- arrays - 在日期 SwiftUI 上对映射数组进行排序
- php - PHP 7.3 - count(NULL) 使 php 脚本超时