如何解决“无法找到适用于 linux/arm64/v8 的匹配项”?2024年10月11日 | 3 分钟阅读 无论何时,当您在基于 ARM 的 Linux 系统上使用 Docker 时,主要是在 Raspberry Pi 或 Apple 的 Silicon M1/M2 芯片上,您可能会遇到错误:“no matching manifest for linux/arm64/v8 in the manifest list entries。”当您尝试拉取 Docker 镜像但该镜像不包含对 ARM64 架构的支持时,会发生此错误消息。为了解决此问题,我们将在本文中提供几种解决方案,包括此错误的含义、发生原因以及如何解决它以确保在 ARM64 平台上顺利部署容器。 ![]() 如果您在使用 Docker Compose 的 Apple M1 Silicon 芯片或 Raspberry PI 上遇到此错误消息 `no matching manifest for Linux/arm64/v8 in the manifest list entries`。 ![]() 解决方案 1:使用平台只需在 docker-compose.yml 文件中添加此平台,如下所示 完整代码 现在,在终端中使用以下命令运行上面的代码。 运行代码后,您将看到没有错误消息,并且您的 MySQL 将轻松接受连接。 解决方案 2如果您正在使用预构建镜像,只需运行以下命令迁移您的数据库 命令 解决方案 3:使用多架构 Docker 镜像有几个官方 Docker 镜像都是为多种架构构建的。您可以尝试拉取一个精确支持 ARM64 架构的镜像。
在上面的命令中,将 <image-name> 替换为您实际的镜像名称。 解决方案 4:在本地创建镜像如果您尝试使用的镜像不支持 ARM64,您可以在 ARM64 系统上从源代码构建它。
在上面的命令中,将 <your-image-name> 替换为您实际的镜像名称。 解决方案 5:使用 Docker BuildxDocker Buildx 是一个强大的工具,使用它可以轻松构建用于不同平台的镜像。您可以使用它来构建和推送多架构镜像。 使用以下命令确保 Buildx 已启用 现在,借助以下命令构建镜像 在上面的命令中,将 <your-image-name> 替换为您实际的镜像名称。 解决方案 6:使用替代镜像有时基础镜像不支持 ARM64。在这种情况下,您可以寻找一个支持 ARM64 的类似镜像。
解决方案 7:使用 QEMU 进行模拟仅在绝对必要时使用此方法。如果上面提供的其他解决方案都不起作用,那么请使用此方法。如果您无法找到或构建 ARM64 镜像,您可以使用 QEMU 模拟其他架构,例如 x86_64。但是,此方法不利于系统性能,但可以作为最后一种选择。
运行上述命令后,再次尝试运行 Docker 容器。 结论总而言之,“no matching manifest for linux/arm64/v8”错误发生在 Docker 镜像不支持 ARM64 架构时。要解决此问题,您可以拉取多架构镜像、在本地为 ARM64 构建镜像,或使用 Docker Buildx 进行跨平台构建。另外,您可以找到与 ARM64 兼容的镜像,或在必要时使用 QEMU 进行模拟。通过遵循这些方法,您可以确保 Docker 容器在基于 ARM 的 Linux 系统上顺利运行。 下一主题Linux 文本编辑器 |
我们请求您订阅我们的新闻通讯以获取最新更新。