Denied: запрос доступа к ресурсу отклонен: docker

Я следую этой ссылке, чтобы создать мой первый файл докеры Image, и он прошел успешно, и теперь я пытаюсь подтолкнуть это изображение в мой репозиторий докеров из этой ссылка. Но всякий раз, когда я пытаюсь подтолкнуть этот Image в репозиторий, я получил этот тип ошибки.

denied: requested access to the resource is denied

введите описание изображения здесь

Может ли кто-нибудь дать мне некоторый намек на эту проблему? Любая помощь была бы оценена.

Примечание. Я успешно зашел в docker

Ответ 1

Благодаря ответу Дина Ву и этому комментарию ses, прежде чем нажимать, не забудьте войти из командной строки в свою учетную запись докера-концентратора.

docker login

Согласно документам:

You need to include the namespace for Docker Hub to associate it with your account.
The namespace is the same as your Docker Hub account name.
You need to rename the image to YOUR_DOCKERHUB_NAME/docker-whale.

Итак, это означает, что вы должны пометить свое изображение перед нажатием:

docker tag firstimage YOUR_DOCKERHUB_NAME/firstimage

и тогда ты сможешь его подтолкнуть.

docker push YOUR_DOCKERHUB_NAME/firstimage

Ответ 2

У меня такая же проблема, когда я начинаю курс докеров. Я решил проблему, выполнив docker login перед нажатием кнопки docker.

Ответ 3

У меня была такая же проблема, но принятый ответ, данный здесь, не работал у меня. Я попробовал несколько шагов и смог обойти его, наконец,. Надеюсь, это поможет кому-то.

Вот шаги, которые мне помогли:

1) Войдите в докер.

docker login -u sirimalla

2) Отметьте создание образа

Мое имя изображения здесь: mylocalimage и по умолчанию имеет тег: последний
и мое имя пользователя: sirimalla, зарегистрированное в облаке докеров, и я создал публичный репозиторий с именем: dockerhub

теперь мой личный репозиторий становится следующим: sirimalla/dockerhub и я хочу нажать мое изображение с тегом: myfirstimagepush

Я отметил как ниже:

docker tag mylocalimage:latest sirimalla/dockerhub:myfirstimagepush

3) Вставьте изображение в мой личный хранилище докеров, как показано ниже

docker push sirimalla/dockerhub:myfirstimagepush

И он успешно нажал на мою личную докере-репо.

Ответ 4

Важно также отметить, что когда вы помечаете свое изображение, вы помечаете его с помощью Пространства имен, а затем ваш репозиторий / mydevrepo. Это смутило меня, следуя документам Докера. После этого я использовал:

docker login

И затем я нажал свое изображение, используя "помеченное имя".

docker push {namespace}/mydevrepo

Ответ 5

Используйте команды ниже:

$ docker login
<enter user name and password for Docker Hub Repository>

$ docker tag first-image {docker-hub-username}/{default-repo-folder-name}:first-image

$ docker push {docker-hub-username}/{default-repo-folder-name}:first-image

например. У меня есть публичный репозиторий, такой как manjeet86/docker-repo, поэтому команды будут:

$ docker tag first-image manjeet86/docker-repo:first-image

$ docker push manjeet86/docker-repo:first-image

Просто посмотрите : вместо /, что было трюком. Меня устраивает. Я не знаю, может ли он пометить тегом / вместо :, но это может быть для некоторых других целей.

https://docs.docker.com/engine/reference/commandline/tag/#examples

Ответ 6

То, как docker обрабатывает идентификаторы пользователей и репозитории, может немного сбивать с толку. Допустим, вы создаете учетную запись пользователя xyz на Docker Hub. Новая учетная запись автоматически устанавливает пространство имен xyz. Затем вы создаете хранилище под названием myrepo. Имя репозитория будет на самом деле xyz/myrepo.

Чтобы нажать на изображение, вы должны сделать:

docker push docker.io/xyz/myrepo

При необходимости вы можете добавить ": последний" или другой тег.

При получении requested access to the resource is denied сообщение об ошибке:

  1. Перейдите на https://hub.docker.com/ и войдите как xyz.
  2. Нажмите на свой репозиторий xyz/myrepo.
  3. Нажмите на сотрудников.
  4. Добавьте xyz в качестве соавтора.

Ответ 7

Не уверен, что случилось с док-хабом, но ни одно из опубликованных решений не помогло мне. Вот обходной путь, который закончил работать для меня с января 2018 года:

  1. Перейдите на hub.docker.com и измените свой репозиторий на частный
  2. В вашей оболочке сделайте:

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE verse_gapminder_gsl latest 023ab91c6291 3 minutes ago 1.975 GB verse_gapminder latest bb38976d03cf 13 minutes ago 1.955 GB rocker/verse latest 0168d115f220 3 days ago 1.954 GB

docker tag bb38976d03cf dockhubusername/verse_gapminder:mytag

docker login docker.io

docker push dockhubusername/verse_gapminder:mytag

  1. Вернитесь в Docker Hub и измените репо на общедоступный. Это сработало для меня.

Ответ 8

ОС: Ubuntu16.04

Причина: я удалил файл конфигурации клиента (~/.docker/config.json)

Решение:

  • Перезапустите докер.
    перезапуск сервисного докера.
  • Необходимо ввести данные для входа в систему, а затем автоматически сгенерировать файл конфигурации.
    вход в докер --username = yourdockerhubername --email [email protected]

Ответ 9

Docker также имеет ограничение на количество частных репозиториев, которые вы можете иметь. Если вы создаете приватный репозиторий, нажав на свой локальный компьютер, он создаст репозиторий, но ничто не может быть добавлено к нему или вытащено из него, и вы получите сообщение об ошибке "Запрошенный доступ к ресурсу отказано".

Ответ 10

Моя проблема заключалась в простом использовании недопустимых символов (лишних/) в имени моего изображения:

myusername/something/image

неверное имя изображения Попробуйте myusername/что-то-изображение. Надеюсь, это кому-нибудь поможет.

Ответ 11

У меня была такая же проблема сегодня. Единственное, что сработало для меня, - это явно войти в "docker.io":

docker login docker.io

Я пробовал различные другие имена, и логин будет работать, но позже это приведет к ошибке "запрашиваемый доступ к ресурсу отказано".

Ответ 12

Тем, кто пытается отправить изображение в свой собственный менеджер репозитория Nexus, сделайте следующее:

1) Войдите в свой менеджер репозитория Nexus (порт 8443 связан с определенным репозиторием хоста Docker)

sudo docker login xxx.mydomain.com:8443

2) Пометьте изображение СВОИМ NEXUS SERVER IP/DNS

sudo docker tag myimage:latest xxx.mydomain.com:8443/myimage:1.0.0

3) Нажмите на изображение

sudo docker push xxx.mydomain.com:8443/myimage:1.0.0

Ответ 13

Вход из приложения. Я пробовал только с терминала без везения.

Это версия 17.06.1

введите описание изображения здесь

Ответ 14

Простое рабочее решение:

Перейдите сюда https://hub.docker.com/, чтобы создать репозиторий PRIVATE с именем, например johnsmith/private-repository, это NAME/REPOSITORY, который вы будете использовать для своего изображения при создании изображения.

  • Сначала docker login

  • Во-вторых, я использую "docker build -t johnsmith/private-repository:01 ." для создания изображения, и я использую "docker images", чтобы подтвердить созданное изображение, например, в этом желтом поле ниже: (извините, я не могу вставить формат таблицы, но только текстовая строка)

johnsmith/private-repository (REPOSITORY) 01 (TAD) c5f4a2861d6e (IMAGE ID) 2 дня назад (СОЗДАНИЕ) 305 МБ (РАЗМЕР)

  • В-третьих, я использую docker push johnsmith/private-repository:01

Готово!

Ответ 15

Если вы столкнулись с этой проблемой при использовании реестра контейнеров Azure, вы можете решить ее, сначала войдя в свой реестр.

docker login yourregistry.azurecr.io

А затем пометьте свое изображение в соответствии с именем хоста вашего реестра.

docker image tag yourimagename:[version] yourregistry.azurecr.io/yourimagename:[version]

И, наконец, подтолкнуть его.

docker push yourregistry.azurecr.io/yourimagename:[version]

Ответ 16

Я тоже был с этой проблемой, я тестировал решения, представленные здесь, но безрезультатно, я правильно вошел в систему, по крайней мере, в соответствии с выводом docker login в docker login но все же я не мог нажать на изображение. Что в итоге сработало, так это просто

docker logout

И снова docker login, это было так тривиально. Я не уверен, что случилось, но принудительный повторный вход сработал.

Ответ 17

Мой ответ связан с похожими проблемами Azure DevOps, которые возникли у меня со следующим распространенным конвейером (он более конкретен, но может помочь кому-то сэкономить время):

  1. Получить источники из GitHub
  2. Построить образ докера
  3. Нажмите на изображение докера в Dockerhub

Ошибка, которую я получил при push- denied: requested access to the resource is denied отправил мне сюда.

Пожалуйста, будьте осторожны с переменной $(Build.Repository.Name) включенной в имя вашего изображения. По умолчанию это имя репозитория от github, но для того, чтобы ваш push работал, это должно быть dockerhub_account_username/your_dockerhub_repository_name.

Замените $(Build.Repository.Name) на имя dockerhub_account_username/your_dockerhub_repository_name в поле имени вашего изображения для этапов сборки и dockerhub_account_username/your_dockerhub_repository_name.

Это необходимо для dockerhub api, чтобы знать, куда нажать изображение.

Ответ 18

Если он по-прежнему не работает после docker login, убедитесь, что репозиторий, на который вы пытаетесь нажать, был создан в первую очередь.

Ответ 19

У меня также есть эта проблема. Оказывается, я использую бесплатный уровень и пытаюсь нажать более одного изображения в приватном репозитории. Сделать 1 изображение частным, а остальная общественность работала на меня.

Ответ 20

В моем случае я подталкивал к организации, в которой я нахожусь в команде, у которой есть права администратора для хранилища.

поэтому моя команда push: docker push org-name/image-name

Я мог бы успешно нажать на имя пользователя/изображение-имя, но не в организацию. Я трижды проверил разрешения. Ничего не сработало.

Решение состояло в том, чтобы удалить репо из концентратора докеров и снова нажать заново, используя: docker push org-name/image-name

Что бы ни стоило, я думаю, что репо изначально было перенесено до того, как аккаунт был преобразован в организацию.

Ответ 21

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

Я не совсем уверен, как мне удалось создать слишком много частных репозиториев, но если мой план включает 5 частных репо, и каким-то образом у меня есть 6, то я получу эту ошибку:

denied: requested access to the resource is denied

В моем случае возможно, что у меня оказалось слишком много частных репозиториев, потому что у меня по умолчанию для видимости установлено значение private:

Default Visibility

Здесь вы можете определить, сколько личных репо вы можете иметь:

Billing Plans

Как только я обнародовал проблемный репо, проблема стала очевидной:

Make Repository Private 5 of 5

Ответ 22

Такая же ошибка возникает, если у вас уже есть репо с тем же именем.

Ответ 23

переименуйте свое изображение в username/image-name  docker tag your-current-image/current-image dockerhub-username/some-name: your-tag (пример: последний)

Ответ 24

Попробуйте выйти из приложения "Docker for Windows" и выйти из https://hub.docker.com/ и после выполнения "входа в докер" и "docker push". Это помогло мне.

Ответ 25

Вход в docker из командной строки не работает. Когда я пытаюсь нажать, я все время получал "запрошенный доступ к ресурсу".

После входа в приложение для док-станции непосредственно для приложения Windows, докеры-толчки просто отлично работали. Надеюсь, это поможет кому-то.

Ответ 26

После входа в докер, вам нужно назвать ваше изображение с префиксом.

например, если ваше имя пользователя в docker-hub - Shah, изображение должно быть:

Shah/firstimage

Ответ 27

В случае, если кто-то еще сталкивается с этим - причина, в моем случае, была в том, что я использовал (устаревший) подход docker compose для отправки изображений. Переключение на ожидаемое соединение с docker push решило проблему для меня.

Ответ 28

Еще одна (довольно умная) причина для этого: у вас нет частных репозиториев с вашим планом.

Ответ 29

В моем случае sudo -E не удалось с этим сообщением. Решением было предоставить доступ do docker без sudo (создать групповой докер, добавить пользователя (Jenkins) в группу, установить группу в /var/run/docker.sock). Теперь docker push не нужно sudo, и это работает.

Ответ 30

Так что, если это полезно для всех...
У меня была такая же проблема, и вот какова была моя проблема и FIX.

У меня был компьютер в моей тестовой сети под названием "галактика". Я настраиваю реестр Docker, используя следующую команду запуска:
sudo docker run -d 
--restart=always \
--name registry \
-v /srv/registry/certs:/certs \
-v /srv/registry/storage:/var/lib/registry \
-e REGISTRY_HTTP_ADDR=0.0.0.0:443 \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/galaxy.cert \
-e REGISTRY_HTTP_TLS_KEY=/certs/galaxy.key \
-p 443:443 \
registry:2

Затем я пытался отправить изображение в галактику с ноутбука в сети, поэтому я сделал это:

docker login galaxy

Это даст мне ошибку, которая скажет:

Login did not succeed, error: Error response from daemon: 
    Get https://galaxy/v2/: x509: certificate signed by unknown authority

Как ни странно, решение этой проблемы заключалось в следующем входе в систему:

docker login galaxy:443

Это привело к успешному входу в систему.

Тогда я попытался перенести изображение с моего ноутбука в "галактику".
Я уже создал тег для своего изображения, который выглядел так:

galaxy/myImage:0.0.1

Поэтому я попытался подтолкнуть это, делая это:

docker push galaxy/myImage:0.0.1

На что я получил ответ:

The push refers to repository [docker.io/galaxy/myImage]
7ab460574f86: Preparing 
1aecaf56754d: Preparing 
1df1b5f06ca4: Preparing 
denied: requested access to the resource is denied

Как ни странно, я обнаружил, что для этого нужно было сначала пометить изображение следующим образом:

docker tag myImage:0.0.1 galaxy:443/myImage:0.0.1

... а затем сделать толчок так:

docker push galaxy:443/myImage:0.0.1

Поэтому по какой-то причине мне пришлось включить порт в тег как обязательную часть имени хранилища.



Надеюсь, что это помогает другим.