Watch at Ease看见世界,读懂生活。

科技 · 实用指南

Docker 报 no matching manifest?先证明请求平台,再强制架构

把主机或覆盖项的请求与标签的不可变镜像索引、操作系统、架构和 variant 对齐,再决定固定 digest、重发镜像或启用模拟。

原创示意图:Docker 报 no matching manifest?先证明请求平台,再强制架构
原创示意图:“No matching manifest”表示 Docker 无法把实际平台请求与镜像索引中的兼容描述符对应起来。它本身不能证明电脑配置错误,也不能证明 `--platform linux/amd64` 安全。先保存匹配两端的证据。 Watch at Ease

“No matching manifest”表示 Docker 无法把实际平台请求与镜像索引中的兼容描述符对应起来。它本身不能证明电脑配置错误,也不能证明 `--platform linux/amd64` 安全。先保存匹配两端的证据。

冻结准确请求与镜像引用

保存失败命令、完整错误、镜像引用、Docker/Compose 版本、活动 context、客户端与 daemon 架构,以及环境、Compose 和构建配置中的所有平台覆盖。保留准确 tag 或 digest,暂时不要添加 `--platform`。

检查不可变索引

对实际注册表中的准确引用运行受支持的索引检查命令,记录媒体类型、索引 digest,以及每个描述符的 digest、OS、architecture、variant。若引用解析为单一 manifest,也要记录。

把请求与描述符连接起来

逐字段比较实际请求和描述符。`linux/amd64` 不匹配 `linux/arm64`,arm variant 也可能决定结果;unknown 平台的证明对象不是可运行变体。若无匹配项,区分发布缺失与 context、环境变量或服务配置改变请求。

按责任归属选择修复

原生描述符存在时,固定对应 digest 或修正陈旧选择策略。发布者自有镜像缺少变体时,重建该平台并发布完整索引。确需异构架构时显式声明模拟并测试;根本无支持变体时改用兼容标签。

把部署绑定到已审字节

记录选中的平台 manifest digest,必要时同时记录父索引 digest。让 Compose、CI 或部署策略显式表达平台选择。仅改标签是临时修复,因为标签可在两次检查间移动。

证明运行架构与可重复性

从干净缓存拉取,检查最终 digest 与架构,启动目标工作负载并核对其机器架构和健康。对每种支持主机重复。若 digest 漂移、模拟隐式发生、索引在发布中改变或发布者无法解释缺失变体,就停止。

原创示意图:按责任归属选择修复
原创示意图:原生描述符存在时,固定对应 digest 或修正陈旧选择策略。发布者自有镜像缺少变体时,重建该平台并发布完整索引。确需异构架构时显式声明模拟并测试;根本无支持变体时改用兼容标签。 Watch at Ease