# docker manifest Command Reference

> Reference for docker manifest in CI: create, annotate, inspect, and push multi-arch manifest lists so one tag serves multiple architectures in pipelines.

Source: https://latchkey.dev/learn/command-reference/docker-manifest-command-reference  
Updated: 2026-06-26

Create and push multi-architecture manifest lists.

docker manifest builds a manifest list (a fat manifest) that points one tag at several per-architecture images, so docker pull selects the right one automatically. It is an experimental-flagged command; buildx --platform with --push is the more common path, but manifest is useful when arch images are built separately.

## Common subcommands

- `docker manifest create LIST IMG...` - create a list referencing per-arch images
- `docker manifest annotate` - set arch/os on an entry
- `docker manifest inspect IMAGE` - show the manifest or list
- `docker manifest push LIST` - push the list to the registry
- Requires DOCKER_CLI_EXPERIMENTAL=enabled on older CLIs

## Example

```shell
docker manifest create myorg/app:1.0 \
  myorg/app:1.0-amd64 myorg/app:1.0-arm64
docker manifest annotate myorg/app:1.0 myorg/app:1.0-arm64 --arch arm64
docker manifest push myorg/app:1.0
```

## In CI

When separate jobs build per-architecture images and push them with arch-suffixed tags, a final job stitches them into one tag with docker manifest create and push. If you build all platforms in one job, buildx build --platform ... --push produces the manifest list directly and you do not need this command.

## FAQ

### docker manifest Command Reference?

docker manifest builds a manifest list (a fat manifest) that points one tag at several per-architecture images, so docker pull selects the right one automatically. It is an experimental-flagged command; buildx --platform with --push is the more common path, but manifest is useful when arch images are built separately.

### In CI?

When separate jobs build per-architecture images and push them with arch-suffixed tags, a final job stitches them into one tag with docker manifest create and push. If you build all platforms in one job, buildx build --platform ... --push produces the manifest list directly and you do not need this command.

---

Latchkey runs CI/CD that repairs its own failures. Agent entry points: https://latchkey.dev/agent.txt, https://latchkey.dev/openapi.json, https://latchkey.dev/llms.txt
