テクノロジー · 実用ガイド

Docker の no matching manifest:architecture を強制する前に要求platformを証明する

hostやoverrideの要求をtagの不変image index、OS、architecture、variantに結び、digest固定、再publish、emulationを選びます。

オリジナルイラスト:Docker の no matching manifest:architecture を強制する前に要求platformを証明する
オリジナルイラスト:“No matching manifest”は、実効platform要求に合うdescriptorがimage indexにないことを示します。端末が誤っている証拠でも、`--platform linux/amd64`が安全という証拠でもありません。まず両側を保存します。 Watch at Ease

“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変化があれば停止します。

オリジナルイラスト:所有者別に修復する
オリジナルイラスト:native descriptorがあればdigestを固定するか古い選択policyを直します。自社imageにvariantがなければ、そのplatformをbuildし完全なindexをpublishします。異種architectureが意図的ならemulationを明示して試験し、非対応なら互換tagを選びます。 Watch at Ease