отказано: запрошенный доступ к ресурсу запрещен: docker


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

denied: requested access to the resource is denied

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

Примечание: я успешно войти в докер

25 140

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 ошибка сообщение:

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

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

docker login docker.io

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

ОС: Ubuntu16.04

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

устранение:

  • перезагрузите настройки.
    Service docker restart.
  • он должен ввести информацию для входа в систему, а затем автоматически генерирует файл конфигурации.
    docker login --username=yourdockerhubername --email=youremail@company.com

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

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

Это версия 17.06.1

enter image description here

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

  1. перейти к hub.docker.com и измените свой репозиторий на private
  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 и измените РЕПО обратно на общественный. Это сработало для меня.

Если вы столкнулись с этой проблемой при использовании реестра контейнеров 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
    

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



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

  • моя проблема была очень просто использовать недопустимые символы (дополнительный /) в моем имени изображения:

    myusername/something/image
    

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