Docker Community Forums

Share and learn in the Docker community.

Error reading archs of multi architecture docker images

Hi there,

We have created some multi-arch Docker images using docker build on Docker for macOS (Docker version 20.10.6, build 370c289).
When we want to read the architectures from the images, we typically run docker manifest inspect <company>/<image>:<tag>:

{
   "schemaVersion": 2,
   "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
   "manifests": [
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 3248,
         "digest": "sha256:2cb20d8695d03fa1745b892d3438c49120ec1a71cd839ddb0ae099e1a0d2964b",
         "platform": {
            "architecture": "arm64",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 3248,
         "digest": "sha256:97b80a3425083a8ba930c2fe788e8ee8abfeb7f02f07f1d32637a7e2d6c45d1c",
         "platform": {
            "architecture": "amd64",
            "os": "linux"
         }
      }
   ]
}

However on some images we get an error:

errors:
denied: requested access to the resource is denied
unauthorized: authentication required

First of all, we are logged on Docker Hub. Secondly, why on Earth docker manifest requires (apparently) access to Docker Hub to read the image architecture.
It seems we can only read the archs from images on Docker Hub. Why?

Good question, and I wonder if this is why some of my swarm placement constraints fail (for me, in my environment) for custom-built images that are only hosted in private registry. I just assumed I was doing something wrong in my yaml files.