【发布时间】:2021-10-04 06:24:04
【问题描述】:
我正在尝试为小型 dotnet core 3.1 控制台应用程序构建新映像。我收到一个错误:
无法使用前端 dockerfile.v0 解决:创建 LLB 失败 定义:复制失败:httpReadSeeker:打开失败:做失败 请求:获取 https://westeurope.data.mcr.microsoft.com/42012bb2682a4d76ba7fa17a9d9a9162-qb2vm9uiex//docker/registry/v2/blobs/sha256/87/87413803399bebbe093cfb4ef6c89d426c13a62811d7501d462f2f0e018321bb/data?P1=1627480321&P2=1&P3=1&P4=uDGSoX8YSljKnDQVR6fqniuqK8fjkRvyngwKxM7ljlM%3D&se=2021-07-28T13%3A52%3A01Z&sig=wJVu%2BBQo2sldEPr5ea6KHdflARqlzPZ9Ap7uBKcEYYw%3D&sp=r&spr=https&sr=b&sv=2016-05-31®id=42012bb2682a4d76ba7fa17a9d9a9162: x509: 证书已过期或无效
我检查了一个旧的 dotnet 程序,我的 dockerfile 运行良好。我得到了同样的错误。然后,我跳到 Docker Hub 并检查了 MS 映像,发现所有 MS 映像都更新了一个小时。然后它们再次更新,10 分钟前 xD。但是,我仍然无法拉取 mcr.microsoft.com/dotnet/runtime:3.1 和 mcr.microsoft.com/dotnet/sdk:3.1 的基础镜像。我的整个 Dockerfile 是:
FROM mcr.microsoft.com/dotnet/runtime:3.1 AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
COPY ["Kafka-dotnet-consumer/Kafka-dotnet-consumer.csproj", "Kafka-dotnet-consumer/"]
RUN dotnet restore "Kafka-dotnet-consumer/Kafka-dotnet-consumer.csproj"
COPY . .
WORKDIR "/src/Kafka-dotnet-consumer"
RUN dotnet build "Kafka-dotnet-consumer.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Kafka-dotnet-consumer.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Kafka-dotnet-consumer.dll"]
完整的错误日志是:
Severity Code Description Project File Line Suppression State
Error CTC1014 Docker command failed with exit code 1.
#1 [internal] load build definition from Dockerfile
#1 sha256:356bc2781f52b021d6dc2eefeef3212c983066d4fe3637fe7928c8165f181c52
#1 DONE 0.0s
#1 [internal] load build definition from Dockerfile
#1 sha256:356bc2781f52b021d6dc2eefeef3212c983066d4fe3637fe7928c8165f181c52
#1 transferring dockerfile: 826B done
#1 DONE 0.0s
#2 [internal] load .dockerignore
#2 sha256:158b62c61546176b0f8a68c34f4aed7fe8e5f979cc578672dacd3c07aff01eb1
#2 transferring context: 35B done
#2 DONE 0.0s
#3 [internal] load metadata for mcr.microsoft.com/dotnet/sdk:3.1-alpine
#3 sha256:9c4e2456483bc5a0fda4bf0466bb996bef09b180bf33a44ede0bd988c1be9178
#3 ...
#4 [internal] load metadata for mcr.microsoft.com/dotnet/runtime:3.1-alpine
#4 sha256:46a3f71ff7a02c9ad1111e95e06323b127c541ea25dc1bca0750bc3a2ea917ca
#4 ERROR: failed to copy: httpReadSeeker: failed open: failed to do request: Get https://westeurope.data.mcr.microsoft.com/42012bb2682a4d76ba7fa17a9d9a9162-qb2vm9uiex//docker/registry/v2/blobs/sha256/87/87413803399bebbe093cfb4ef6c89d426c13a62811d7501d462f2f0e018321bb/data?P1=1627480321&P2=1&P3=1&P4=uDGSoX8YSljKnDQVR6fqniuqK8fjkRvyngwKxM7ljlM%3D&se=2021-07-28T13%3A52%3A01Z&sig=wJVu%2BBQo2sldEPr5ea6KHdflARqlzPZ9Ap7uBKcEYYw%3D&sp=r&spr=https&sr=b&sv=2016-05-31®id=42012bb2682a4d76ba7fa17a9d9a9162: x509: certificate has expired or is not yet valid
#3 [internal] load metadata for mcr.microsoft.com/dotnet/sdk:3.1-alpine
#3 sha256:9c4e2456483bc5a0fda4bf0466bb996bef09b180bf33a44ede0bd988c1be9178
#3 CANCELED
------
> [internal] load metadata for mcr.microsoft.com/dotnet/runtime:3.1-alpine:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to copy: httpReadSeeker: failed open: failed to do request: Get https://westeurope.data.mcr.microsoft.com/42012bb2682a4d76ba7fa17a9d9a9162-qb2vm9uiex//docker/registry/v2/blobs/sha256/87/87413803399bebbe093cfb4ef6c89d426c13a62811d7501d462f2f0e018321bb/data?P1=1627480321&P2=1&P3=1&P4=uDGSoX8YSljKnDQVR6fqniuqK8fjkRvyngwKxM7ljlM%3D&se=2021-07-28T13%3A52%3A01Z&sig=wJVu%2BBQo2sldEPr5ea6KHdflARqlzPZ9Ap7uBKcEYYw%3D&sp=r&spr=https&sr=b&sv=2016-05-31®id=42012bb2682a4d76ba7fa17a9d9a9162: x509: certificate has expired or is not yet valid Kafka-dotnet-consumer C:\Ziad\repos\vdpm-datagrid\Kafka-dotnet-consumer\Kafka-dotnet-consumer\Dockerfile 1
有什么想法吗?
【问题讨论】:
-
看起来是容器注册表的问题。请在github.com/microsoft/containerregistry/issues 提出问题。
-
我也在 MS Container GitHub github.com/microsoft/containerregistry/issues/73 上填写了一个问题。还是没有反应
-
FWIW 我今天遇到了这个问题,并通过重新启动我的整个机器来“修复”它。 (尽管stackoverflow.com/questions/35289802/… 有答案,但仅仅重启 docker 引擎是不够的)
-
你是对的!我重新启动了我的电脑,它又可以工作了!谢谢@ChrisCulter 的提示!
标签: c# docker .net-core dockerfile docker-container