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

```text
no matching manifest for linux/arm64/v8 in the manifest list entries
```

## Fix it

1. Try the Intel build under emulation:
   `docker pull --platform linux/amd64 [image]:[tag]`
   Expected: pull succeeds; Docker Desktop runs it via QEMU/Rosetta.
2. For builds, pin the platform in the Dockerfile:
   `FROM --platform=linux/amd64 [image]:[tag]`
   Expected: build resolves the amd64 variant.
3. If performance is bad under emulation (databases, heavy compute), look for an official ARM tag instead. Many projects publish `[image]:[version]-arm64` or multi-arch `latest`.

## 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.
- `--platform` on `docker run` overrides 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.
