no matching manifest for linux/arm64/v8 in the manifest list entries
Fixes 'no matching manifest for linux/arm64/v8' on Apple Silicon Macs when an image has no ARM build. Use when docker pull or build fails on M1/M2/M3 Macs because the image only ships amd64. Not for the amd64 variant of the error or for manifest unknown.
TL;DR: The image has no Apple Silicon (ARM64) build, only Intel. Either pull the amd64 variant explicitly and run it under Rosetta emulation (docker pull --platform linux/amd64 [image]), or find an ARM-native tag. The error means the registry manifest list has zero ARM entries, so there is nothing native to download.
The error
no matching manifest for linux/arm64/v8 in the manifest list entriesFix it
Try the Intel build under emulation:
docker pull --platform linux/amd64 [image]:[tag]Expected: pull succeeds; Docker Desktop runs it via QEMU/Rosetta.For builds, pin the platform in the Dockerfile:
FROM --platform=linux/amd64 [image]:[tag]Expected: build resolves the amd64 variant.- If performance is bad under emulation (databases, heavy compute), look for an official ARM tag instead. Many projects publish
[image]:[version]-arm64or multi-archlatest.
When this applies
- Apple Silicon Macs (M1/M2/M3) pulling older or niche images
- CI on ARM runners using Intel-only images
When this does NOT apply
- Intel/AMD machines (you get the amd64 variant of this error instead)
- "exec format error" at RUN time (a foreign-arch binary got in; different failure point)
Versions
Docker Desktop 4.x on Apple Silicon. Linux ARM hosts (Raspberry Pi, Graviton) see the same error.
Why it happens
Your daemon reports linux/arm64/v8 as its platform. The registry manifest list for that tag contains only linux/amd64 entries, so platform matching finds nothing and the pull aborts rather than fetching an unrunnable binary.
Edge cases
- Emulated amd64 containers are noticeably slower and some workloads (nested virtualization, certain crypto) misbehave; prefer native ARM images for production.
--platformondocker runoverrides at run time, but the image must already be pulled for that platform.- Docker Desktop's "Use Rosetta for x86_64/amd64 emulation" setting (General settings) improves emulated performance when available.