What This Platform Mismatch Means
Docker found the image tag, but no manifest matches your OS or CPU architecture, so the image is not built for your platform.
Check the image platform and available manifests
Confirm the failing runner platform with docker info --format '{{.OSType}}/{{.Architecture}}' and, if needed, uname -m.
Inspect the published manifest list with docker buildx imagetools inspect <image:tag> and verify whether your platform is listed.
If you use a mirror or proxy registry, compare the manifest list there with upstream to rule out stale metadata.
Check platform and architecture
Use a tag that publishes a manifest for the runner platform, or rebuild and publish a multi-arch image.
If running under emulation is intentional and supported, pull an explicit platform:docker pull --platform linux/amd64 <image:tag>
If the manifest list looks wrong, confirm you are pulling from the intended registry or mirror.
Why the Platform Does Not Match
The tag exists, but only for other platforms such as linux/arm64 or linux/amd64.
The runner architecture differs from the environment where the image was originally tested or built.
A mirror or proxy registry is serving an incomplete or stale manifest list.
Verify the Published Image Matches the Runner Platform
Run docker buildx imagetools inspect <image:tag> and confirm the intended platform is listed.
Pull the corrected image on the same runner architecture that failed and confirm it succeeds.
Typical Output
no matching manifest for linux/amd64 in the manifest list entries
no matching manifest for linux/arm64/v8 in the manifest list entries Avoid Version and Source Drift
To prevent this, publish multi-arch images when you support more than one runner architecture, and keep runner architecture explicit in CI and do not assume amd64 and arm64 are interchangeable.
How Docker chooses a platform-specific manifest
Docker resolves the tag to a manifest list or a single manifest, then selects the entry that matches the requested or current platform.
If the tag exists but no manifest entry matches that platform, the pull fails with no matching manifest.