#python #docker #docker-image
#python #docker #docker-image
Вопрос:
Я пытаюсь нажать на docker, но он говорит, что требуется авторизация. Я знаю, что для решения этой проблемы я должен добавить свое имя пользователя перед нажатием кнопки docker. Я создал образ docker, используя :
docker build -t registry.heroku.com/myapp/web .
Это создает образ в моем docker hub.
Я удостоверяюсь, что я вошел в свой docker, а также удостоверяюсь, что у меня есть контейнер heroku, созданный и вошедший в систему.
heroku login
heroku container: login
Затем, когда я пытаюсь выполнить docker push:
docker push myname/registry.heroku.com/myapp/web
затем я получаю сообщение об ошибке: An image does not exist locally with the tag: myname/registry.heroku.com/myapp/web
Когда я это делаю docker images
, появляется созданный мной образ registry.heroku.com/myapp/web
Кто-нибудь знает, что я делаю не так?
Комментарии:
1. Если вам разрешено нажать на
registry.heroku.com
(этоdocker login
удалось), то выdocker push registry.heroku.com/myapp/web
, с тем же именем, с которым вы пометили изображение; нет необходимости дублировать ваше имя пользователя в начале его.2. «Я знаю, что для решения этой проблемы я должен добавить свое имя пользователя перед нажатием docker». — это, похоже, противоречит сообщению об ошибке, которое вы получаете. Я бы поставил это под сомнение.
Ответ №1:
Вы построили registry.heroku.com/myapp/web изображение и пытается нажать myname/registry.heroku.com/myapp/web, которого определенно не существует.
- Вам нужно отправить изображение с тем же именем, которое вы создали.
- Heroku не принимает изображения с myname/registry.heroku.com/myapp/web. Это должно быть registry.heroku.com/myapp/web
- Так что попробуйте нажать на изображение (оно правильное).
docker push registry.heroku.com/myapp/web
- myname/registry.heroku.com/myapp/web (неверно)
- войдите в heroku cli
heroku container:login
- войдите в реестр Heroku с помощью docker и токена аутентификации Heroku
docker login --username=_ --password=$(heroku auth:token) registry.heroku.com
- нажмите на изображение
docker push registry.heroku.com/myapp/web
- войдите в heroku cli
Следуйте этому документу Heroku о передаче изображений
Комментарии:
1. спасибо за ответ. Однако, когда я делаю это, я получаю сообщение об ошибке, в котором говорится
denied: requested access to the resource is denied
2. @Kitchen Если вы еще не установили интерфейс командной строки Heroku, пожалуйста, установите и выполните следующие команды. Войдите в Heroku
heroku container:login
. Войдите в реестр контейнеров Heroku с помощью docker и токена аутентификации Herokudocker login --username=_ --password=$(heroku auth:token) registry.heroku.com
. Нажмите изображениеdocker push registry.heroku.com/myapp/web