Как исправить ошибку «Запрещено: запрошенный доступ к ресурсу запрещен» из Docker Hub при создании манифеста - PullRequest
1 голос
/ 21 февраля 2020

Я пытаюсь создать манифест для моего репозитория docker, чтобы у меня был многоплатформенный образ.

Моя процедура была следующей:

  1. Я начал с создания пустого репозитория и вставил в него два изображения, одно для amd64 и одно для arm64. Эти изображения можно просмотреть здесь: https://hub.docker.com/repository/docker/shadash/docker-multiarch-glusterfs-plugin
  2. Я захожу в свою учетную запись docker через CLI. Я попробовал следующие методы, и ответ «Login Succeeded»:
docker login --username=shadash
docker login docker.io --username=shadash
docker login https://index.docker.io/v1 --username=shadash
docker login
Я пытаюсь создать манифест:
docker manifest create shadash/docker-multiarch-glusterfs-plugin:latest shadash/docker-multiarch-glusterfs-plugin:x86_64 shadash/docker-multiarch-glusterfs-plugin:aarch64

И в результате:

ошибки: отказано: запрошенный доступ к ресурсу запрещен, неавторизован: аутентификация требуется

Я пытался использовать инструмент манифеста (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

Результат:

FATA [0001] Проверка изображения "shadash / docker -multiarch-glusterfs-plugin: x86_64" завершилась ошибкой: ошибки: отказано: запрошенный доступ к ресурсу запрещен, неавторизован: требуется проверка подлинности

Так что, похоже, проблема связана с проверкой моих существующих изображений. Тем не менее, я могу загрузить и установить эти плагины очень хорошо (проверено на 3 разных машинах), и они также работают, когда я запускаю стек, который использует этот драйвер тома:

docker plugin install shadash/docker-multiarch-glusterfs-plugin:x86_64
docker plugin install shadash/docker-multiarch-glusterfs-plugin:aarch64

Я действительно застрял здесь, и у меня есть Понятия не имею, почему я не могу создать явное изображение на основе этих изображений. Я успешно создал образ манифеста для Дженкинса, см. https://hub.docker.com/repository/docker/shadash/docker-multiarch-jenkins

...