テクノロジー · 実用ガイド
Docker の no matching manifest:architecture を強制する前に要求platformを証明する
hostやoverrideの要求をtagの不変image index、OS、architecture、variantに結び、digest固定、再publish、emulationを選びます。

“No matching manifest”は、実効platform要求に合うdescriptorがimage indexにないことを示します。端末が誤っている証拠でも、`--platform linux/amd64`が安全という証拠でもありません。まず両側を保存します。
正確な要求と参照を凍結する
失敗command、error全文、image参照、Docker/Compose version、active context、client/daemon architecture、環境・Compose・buildのplatform overrideを保存します。正確なtagまたはdigestを残し、まだ`--platform`を加えません。
不変indexを調べる
実際のregistry参照をindex inspectionで確認し、media type、index digest、全descriptorのdigest、OS、architecture、variantを記録します。単一manifestに解決される場合も保存します。
要求とdescriptorを結合する
実効要求をdescriptorと厳密比較します。`linux/amd64`と`linux/arm64`は一致せず、arm variantも重要です。unknown-platform attestationは実行可能variantではありません。publisher不足とcontextやpolicyによる要求変更を分離します。
所有者別に修復する
native descriptorがあればdigestを固定するか古い選択policyを直します。自社imageにvariantがなければ、そのplatformをbuildし完全なindexをpublishします。異種architectureが意図的ならemulationを明示して試験し、非対応なら互換tagを選びます。
配備を審査済みbytesへ結ぶ
選んだplatform-specific digestと必要なら親index digestを記録します。Compose、CI、deployment policyにplatform選択を明示します。tagは移動できるためtag変更だけを恒久修復にしません。
runtime architectureと再現性を証明する
clean cacheからpullし、digestとarchitectureを検査し、workloadを起動してmachine architectureとhealthを確認します。全host familyで繰り返し、digest drift、暗黙emulation、rollout中のindex変化があれば停止します。
