I am trying to create a manifest for my docker hub repository such that I have a multi-platform image.
My procedure was as follows:
- I started with creating an empty repository and pushing two images to it, one for amd64 and one for arm64. These images can be previewed here: https://hub.docker.com/repository/docker/shadash/docker-multiarch-glusterfs-plugin
- I login to my docker hub account using the CLI. I tried the following methods and the response is "Login Succeeded":
docker login --username=shadash
docker login docker.io --username=shadash
docker login https://index.docker.io/v1 --username=shadash
docker login
- I attempt to create a manifest:
docker manifest create shadash/docker-multiarch-glusterfs-plugin:latest shadash/docker-multiarch-glusterfs-plugin:x86_64 shadash/docker-multiarch-glusterfs-plugin:aarch64
And the result is:
errors: denied: requested access to the resource is denied unauthorized: authentication required
- I tried using the manifest-tool (https://github.com/estesp/manifest-tool)
git clone https://github.com/estesp/manifest-tool
cd manifest-tool
make
./manifest-tool push from-spec someimage.yaml
someimage.yaml:
image: shadash/docker-multiarch-glusterfs-plugin:latest
manifests:
- image: shadash/docker-multiarch-glusterfs-plugin:x86_64
platform:
architecture: amd64
os: linux
- image: shadash/docker-multiarch-glusterfs-plugin:aarch64
platform:
architecture: arm64
os: linux
Result:
FATA[0001] Inspect of image "shadash/docker-multiarch-glusterfs-plugin:x86_64" failed with error: errors: denied: requested access to the resource is denied unauthorized: authentication required
So it appears the problem is related to the inspection of my existing image(s). However, I can download and install these plugins just fine (tested on 3 different machines) and they also work when I launch a stack that uses this volume driver:
docker plugin install shadash/docker-multiarch-glusterfs-plugin:x86_64
docker plugin install shadash/docker-multiarch-glusterfs-plugin:aarch64
I am really stuck here and I have no idea why I cannot create a manifest image based on those images. I have successfully created a manifest image for jenkins, see https://hub.docker.com/repository/docker/shadash/docker-multiarch-jenkins