Skip to content
Latchkey

Docker "manifest list does not contain platform" in CI

A multi-arch image is a manifest list that maps platforms to per-arch manifests. When the platform the runner needs (say linux/arm64) was never built into the list, the pull fails because there is no matching entry for that architecture.

What this error means

A docker pull or run fails with no matching manifest for <platform> in the manifest list entries. The image was not built for that arch.

docker
docker: no matching manifest for linux/arm64/v8 in the manifest list entries.

Common causes

The image lacks the runner's architecture

The manifest list was built for amd64 only and the runner needs arm64 (or vice versa).

A platform-specific tag instead of a list

A tag that points at a single-arch manifest cannot serve other platforms.

How to fix it

Build and push all needed platforms

  1. Build the image for every architecture you run on.
  2. Push the combined manifest list.
Terminal
docker buildx build --platform linux/amd64,linux/arm64 \
  -t ghcr.io/myorg/api:1.4.2 --push .

Pin the runner to an available platform

  1. If you cannot add the arch, run on a platform the image supports.
Terminal
docker pull --platform linux/amd64 ghcr.io/myorg/api:1.4.2

How to prevent it

  • Build multi-arch manifests covering every runner arch.
  • Verify the manifest list with docker buildx imagetools inspect.
  • Keep CI runner arch and image platforms aligned.

Frequently asked questions

What causes ""manifest missing platform""?
The manifest list was built for amd64 only and the runner needs arm64 (or vice versa).
How do I fix "manifest missing platform"?
Build and push all needed platforms

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card