отказано: запрошенный доступ к ресурсу запрещен: docker
Я этой ссылке чтобы создать свой первый образ Докера, и он прошел успешно, и теперь я пытаюсь протолкнуть этот образ в свой репозиторий докеров из этого ссылке. Но всякий раз , когда я пытаюсь протолкнуть это изображение в репозиторий, я получил этот тип ошибки.
denied: requested access to the resource is denied
может ли кто-нибудь дать мне какой-то намек на эту проблему ? Любая помощь будет оценена.
Примечание: я успешно войти в докер
25 ответов:
по словам docs:
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.
Итак, это означает, что вы должны tag ваше изображение перед нажатием:
docker tag firstimage YOUR_DOCKERHUB_NAME/firstimage
и тогда вы должны быть в состоянии нажать его.
docker push YOUR_DOCKERHUB_NAME/firstimage
обновление: см. также ответ из предоставленных Дин Ву. Перед нажатием не забудьте войти из командной строки в свою учетную запись Docker hub
docker login
Я получил ту же проблему, принимая докер начинающий курс. Я решил проблему, сделав
docker login
перед вызовом docker push.
важно также отметить, что когда вы помечаете свое изображение, вы помечаете его с помощью пространство имен а потом ваш репозиторий/ mydevrepo. Это смутило меня, когда я следовал докерским документам. После этого я использовал:
docker login
а затем я нажал мое изображение с помощью 'tagged name'.
docker push {namespace}/mydevrepo
используйте следующие команды:
$ 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
у меня была та же проблема, но принятый ответ, данный здесь, не работал для меня. Я попробовал несколько шагов и смог обойти его, чтобы подтолкнуть его наконец. Надеюсь, это кому-то поможет.
вот шаги, которые работали для меня:
1) войти в настройки.
docker login -u sirimalla
2) тег вашего изображения построить
мое имя изображения здесь : mylocalimage и по умолчанию он имеет тег : последний
и мое имя пользователя : sirimalla как зарегистрировано в Docker cloud, и я создал публичный репозиторий с именем:dockerhubтак что теперь мой личный репозиторий становится:sirimalla / dockerhub и я хочу, чтобы подтолкнуть мое изображение с тегом:
myfirstimagepush
я отметил, как показано ниже:
docker tag mylocalimage:latest sirimalla/dockerhub:myfirstimagepush
3) переместил изображение в мой личный репозиторий докеров, как показано ниже
docker push sirimalla/dockerhub:myfirstimagepush
и он успешно подтолкнул к моему личному РЕПО докера.
то, как docker обрабатывает идентификаторы пользователей и репозитории, может быть немного запутанным. Допустим, вы создаете учетную запись пользователя xyz на Docker hub. Новая учетная запись автоматически устанавливает пространство имен
xyz
. Затем вы создаете репозиторий с именем myrepo. Имя репозитория на самом деле будетxyz/myrepo
.чтобы нажать на изображение, вы должны сделать:
docker push docker.io/xyz/myrepo
вы можете добавить ":последний" или другой тег, если это необходимо.
если вы
requested access to the resource is denied
ошибка сообщение:
- перейти к https://hub.docker.com/ и войдите в систему как xyz.
- нажмите на свой репозиторий xyz / myrepo.
- нажмите на коллаборационистов.
- добавить xyz в качестве соавтора.
У меня была такая же проблема сегодня. Единственное, что сработало для меня, это явный вход в систему "docker.io":
docker login docker.io
Я пробовал различные другие имена, и логин будет работать, но позже это приведет к ошибке "запрошенный доступ к ресурсу запрещен".
ОС: Ubuntu16.04
причина: я удалил файл конфигурации клиента(~/.настройки/конфигурации.json)
устранение:
- перезагрузите настройки.
Service docker restart.- он должен ввести информацию для входа в систему, а затем автоматически генерирует файл конфигурации.
docker login --username=yourdockerhubername --email=youremail@company.com
Docker также имеет ограничение на количество частных репозиториев, которые вы можете иметь. Если вы создаете частный репозиторий, нажимая с вашего локального компьютера, он создаст репозиторий, но ничего больше не может быть нажато на него или вытащено из него, и вы получите ошибку "запрошенный доступ к ресурсу запрещен".
не уверен, что случилось с Docker hub, но ни одно из опубликованных решений не работало для меня. Вот работа вокруг, которая в конечном итоге работает для меня с января 2018 года:
- перейти к hub.docker.com и измените свой репозиторий на private
- в командной строке выполните:
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
- вернитесь в Docker hub и измените РЕПО обратно на общественный. Это сработало для меня.
Если вы столкнулись с этой проблемой при использовании реестра контейнеров Azure, вы можете решить ее, войдя в свой реестр первым.
docker login yourregistry.azurecr.io
а затем пометьте свое изображение, чтобы оно соответствовало имени хоста вашего реестра.
docker image tag yourimagename:[version] yourregistry.azurecr.io/yourimagename:[version]
и затем, наконец, подтолкнуть его.
docker push yourregistry.azurecr.io/yourimagename:[version]
если он все еще терпит неудачу после
docker login
, убедитесь, что репозиторий, который вы пытаетесь нажать, был создан в первую очередь.
простое рабочее решение:
иди сюда
https://hub.docker.com/
чтобы создать частный репозиторий с именем например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 дня назад(создано) 305MB (SIZE)
- в-третьих, я использую
docker push johnsmith/private-repository:01
готово!
У меня тоже есть эта проблема. Оказывается, я использую свободный уровень и пытаюсь нажать более 1 изображения в частном репозитории. Создание 1 изображения частным, а остальные публичные работали для меня.
переименовать изображение в имя пользователя / image-name докер тег-текущего изображения/текущего изображения dockerhub-имя пользователя/часть-название:свой-тег(например, последний)
попробуйте выйти из приложения "Docker для Windows" и выйти из https://hub.docker.com/ сайт и после выполнения " docker login "и"docker push". Это помогло мне.
docker login из командной строки не работает. Я продолжал получать "запрошенный доступ к ресурсу запрещен" при попытке нажать.
после входа в приложение docker для windows, docker push работал просто отлично. Надеюсь, это кому-то поможет.
после входа в docker вам нужно назвать свое изображение с префиксом.
например, если ваше имя пользователя в docker-hub
Shah
изображение должно быть:Shah/firstimage
в случае, если кто - то еще столкнется с этим-причиной, в моем случае, было то, что я использовал (устаревший)
docker compose
подход к push-изображениям. Переключение на ожидаемыйdocker push
решена проблема для меня.
в моем случае я нажимал на организацию, где я нахожусь в команде, которая имеет права администратора на репозиторий.
Так что моя команда толчка была:
docker push org-name/image-name
я мог бы успешно нажать на имя пользователя / имя изображения, но не на организацию. Я трижды проверил разрешения. Ничего не получалось.
решение состояло в том, чтобы удалить РЕПО из Docker hub и снова нажать fresh с помощью:
docker push org-name/image-name
для чего это стоит, я думаю, что РЕПО было первоначально выдвинуто перед тем как учетная запись была преобразована в организацию.
в моем случае sudo-E не удалось с этим сообщением. Решение состояло в том, чтобы предоставить доступ do docker без sudo (создать группу docker, Добавить пользователя (Jenkins) в группу, установить группу на /var/run/docker.носок.) Сейчас
docker push
не нужно sudo, и это работает.
так что, если это полезно для всех...
У меня была такая же проблема, и вот что моя проблема и исправление.у меня был компьютер в моей тестовой сети под названием "Галактика". я настраиваю реестр 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
поэтому по какой-то причине мне пришлось включить порт в тег как обязательную часть имени репозитория.
надеюсь, что это помогает другим.