Heroku:docker deploy 抛出未经授权:需要身份验证

duh*_*ime 10 heroku docker

我正在尝试使用以下步骤将一个简单的 Flask 服务器部署到 Heroku:

heroku login
heroku container:login

# create the app
heroku create myapp-name-2

# create the container with format:
# docker build -t registry.heroku.com/<app name>/<process type> .
docker build -t registry.heroku.com/myapp-name-2/web .

# push the image to the registry
docker push registry.heroku.com/myapp-name-2/web

# "release" the image
heroku container:release --app myapp-name-2 web

# open the app
heroku open --app myapp-name-2
Run Code Online (Sandbox Code Playgroud)

但是,该docker push步骤显示:

The push refers to repository [registry.heroku.com/myapp-name-2/web]
f60f7a4e2b2a: Preparing
3ff8a98d192e: Preparing
71476851914e: Preparing
013688a141bb: Preparing
f09460ef2908: Preparing
e188a7526d55: Waiting
6b0d56603c0c: Waiting
9496e71377c6: Waiting
5710e17ef032: Waiting
9546672d6b2f: Waiting
f2c194ac8a61: Waiting
2a50ea4f9e8e: Waiting
634249d50b9e: Waiting
68e35493907b: Waiting
e84b9d651af1: Waiting
unauthorized: authentication required
Run Code Online (Sandbox Code Playgroud)

有谁知道我应该如何认证?我现在已经多次运行heroku loginheroku container:login步骤,但一定遗漏了一些东西!

Ale*_*hen 10

同样的错误发生在我身上。我只是运行了下面的命令并且它起作用了。

heroku container:login
Run Code Online (Sandbox Code Playgroud)

  • 是的,我运行了该命令但无济于事。我相信我击中了时空流形的皱纹,在那里,比特与精灵共舞,而不是飞向它们预定的目的地 (4认同)

Jay*_*a S 7

之前登录 docker hub

heroku 容器:登录

和 heroku 容器:push web --app app_name

heroku 容器:release web --app app_name

为我工作

  • 欢迎来到SO。编写描述性答案始终是一个很好的做法,可以帮助广大受众理解它。请阅读 https://stackoverflow.com/help/how-to-answer (2认同)

小智 5

是的,正如原始答案指出的第一次运行

heroku container:login
Run Code Online (Sandbox Code Playgroud)

但还要确保使用以下命名约定正确标记 docker 镜像:

docker tag <image> registry.heroku.com/<app>/<process-type>
Run Code Online (Sandbox Code Playgroud)

<app> 应该与 Heroku 仪表板中的应用名称完全匹配。

附加信息:https : //devcenter.heroku.com/articles/container-registry-and-runtime#pushing-an-existing-image