从现有的Docker镜像部署Heroku

9

我想在Heroku上部署一个GitHub机器人,使用现有的Docker镜像。

镜像已经构建完成。以下是我尝试将其部署到Heroku的步骤:

$ heroku login
Logging in... done
Logged in as EMAIL
$ heroku container:login
Login Succeeded
$ docker tag IMG_ID registry.heroku.com/APP/web
$ docker push registry.heroku.com/APP/web
The push refers to repository [registry.heroku.com/APP/web]
ABC: Layer already exists 
XYZ: Layer already exists 
...
lastest: digest: sha256:NUMBER size: SIZE
$ heroku container:release registry.heroku.com/APP/web
Expected response to be successful, got 404

没有发布版本。
我基于https://devcenter.heroku.com/articles/container-registry-and-runtime#release-phaseDeploy Existing Docker Image To Heroku这些步骤,但好像对我没有用。
现在我卡住了,需要帮助。
编辑:
Docker pull:
$ docker pull registry.heroku.com/APP/web
Using default tag: latest
latest: Pulling from APP/web
Digest: sha256:NUMBER
Status: Image is up to date for registry.heroku.com/APP/web:latest

Heroku运行:

$ heroku run bash --type=web
Running bash on ⬢ APP... up, web.1514 (Free)
2个回答

3

我认为您的发布命令格式不正确:您不应该指定完整的镜像标签,只需指定dyno类型即可。

以下命令适用于我: heroku container:release web -a <app>

似乎您无法直接指定图像版本/标签;container:release始终采用latest标签。


1
我得到了一个新的错误信息:“未指定进程类型web的命令”。不确定如何为进程类型web指定命令。 - CoffeeTableEspresso
你执行过 heroku stack:set container 吗? - Hugh Denman
1
是的,我尝试过了,但似乎没有任何作用。 - CoffeeTableEspresso

-1
在Ruby on Rails中,您可以编写Procfile来指定进程类型,例如:
web: rails s
worker: rake jobs:work 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接