假设我使用Windows11和Docker Desktop切换到WINDOWS容器

当我try 构建正式的ASP.NET CORE 8运行时映像时

docker pull mcr.microsoft.com/dotnet/aspnet:8.0

我收到错误:

list 列表条目中没有与WINDOWS/AMD64 10.0.22621匹配的 list

当我try 使用Windows Server 2022标准版在生产虚拟机中构建映像时,也会发生同样的情况

推荐答案

在.NET 8 Docker Containers中有一个突破性的变化-Multi-platform container tags are Linux-only:

The .NET 8 multi-platform container tags have been updated to be Linux-only. This means that the latest, <major>.<minor>, and <major>.<minor>.<patch> tags are Linux-only going forward.
Starting in .NET 8, the 8.0 tag will only retrieve a Linux-based image.

所以mcr.microsoft.com/dotnet/aspnet:8.0是一个基于Linux的镜像,特别是Debian 12:

Tags Dockerfile OS Version Last Modified
8.0.0-bookworm-slim-amd64, 8.0-bookworm-slim-amd64, 8.0.0-bookworm-slim, 8.0-bookworm-slim, 8.0.0, 8.0, latest Dockerfile Debian 12 11/21/2023

try 使用基于Windows的标记之一:

例如,mcr.microsoft.com/dotnet/aspnet:8.0.0-windowsservercore-ltsc2022来自:

Windows Server Core 2022 amd64 Tags

Tag Dockerfile Last Modified
8.0.0-windowsservercore-ltsc2022, 8.0-windowsservercore-ltsc2022 Dockerfile 11/14/2023
7.0.14-windowsservercore-ltsc2022, 7.0-windowsservercore-ltsc2022 Dockerfile 11/14/2023
6.0.25-windowsservercore-ltsc2022, 6.0-windowsservercore-ltsc2022 Dockerfile 11/14/2023

查看更多信息:

.net相关问答推荐

Powershell机器令牌组

如何从 tshark 的 stderr 捕获实时数据包计数?

如何使用 awslocal 通过 localstack 中的 cloudwatch events/eventbridge 触发 lambda

如何将 Assembly.CodeBase 转换为 C# 中的文件系统路径?

在 WP7 中将 List 转换为 ObservableCollection

C#6.0 字符串插值本地化

哪个单元测试框架?

简单委托(委托)与多播委托

处理序列没有元素异常

从 Web.Config 中的邮箱友好显示名称存储 Smtp

静态析构函数

.NET 反射的成本是多少?

为什么使用 ImmutableList 而不是 ReadOnlyCollection?

.NET 的 String.Normalize 有什么作用?

是否有 Linq 方法可以将单个项目添加到 IEnumerable

获取 .NET 程序集的 AssemblyInformationalVersion 值?

如何从 .NET 读取 PEM RSA 私钥

是否可以在 XP 上运行 .NET 4.5 应用程序?

如何访问 Session 变量并在 javascript 中设置它们?

您可以将 Microsoft Entity Framework 与 Oracle 一起使用吗?