TL;DR: The image you asked for was never built for your CPU architecture. Pick a tag that ships an amd64 variant (check the image page's OS/ARCH list), or if you are on Apple Silicon pulling an Intel-only image, the reverse applies. This is the registry telling you the manifest list has no entry matching your platform, not a network problem.

## The error

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

## Fix it

1. Check which architectures the image actually ships. On Docker Hub, open the Tags page and look at the OS/ARCH column for your tag.
   Expected: you see only linux/arm64 (or similar), no linux/amd64.
2. Switch to a tag that includes your architecture, e.g.:
   `docker pull [image]:[tag-with-amd64]`
   Expected: pull succeeds.
3. If no multi-arch tag exists, you cannot run it natively. Options: find an alternative image, or build it yourself from the image's Dockerfile on your machine.

## When this applies
- Pulling community or niche images that only publish ARM builds
- FROM lines in Dockerfiles referencing single-arch images

## When this does NOT apply
- "manifest unknown" (the tag itself does not exist)
- You are on Apple Silicon and see the arm64 variant of this error (separate skill, opposite direction)

## Versions
All Docker versions with manifest-list support (18.06+). Apple Silicon Macs hit the mirror-image case.

## Why it happens
Modern registries store a manifest list (index) pointing at per-architecture images. The daemon picks the entry matching your platform; when none matches, the pull fails with this error instead of downloading the wrong binary.

## Edge cases
- `docker pull --platform linux/amd64` does not conjure a missing build; it only overrides selection among existing entries.
- QEMU emulation (binfmt) can RUN foreign-arch images but cannot fix a missing manifest entry; the pull still fails.
- Some images publish arch-specific tags like `[image]-arm64`; using those explicitly is more reliable than hoping for a fixed manifest list.
