Use docker buildx imagetools create to create a manifest that points to an existing multiarch image and push it to another registry (no rebuild, no re-pull of layers).

docker buildx imagetools create \
  -t <target-registry>/<image>:<tag> \
  <source-registry>/<image>:<tag>

Example: copy a multiarch image from a private registry to Docker Hub:

docker buildx imagetools create \
  -t docker.io/org/my-app:1.0.0-abc123 \
  myregistry.azurecr.io/my-app:1.0.0-abc123

Requires docker buildx and login to both source and target registries.