我正在尝试使用现有的docker映像在Heroku上部署GitHub机器人。
映像已生成。我做了什么来尝试将其部署到 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-phase 并将现有 Docker 映像部署到 Heroku 的这些步骤,但它似乎对我不起作用。
在这一点上,我很困,任何帮助将不胜感激。
编辑:
码头工人拉取:
$ 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 run bash --type=web
Running bash on ⬢ APP... up, web.1514 (Free)
我认为您的发布命令格式不正确:您不应该指定完整的图像标签,而只指定dyno类型。
对我有用的是heroku container:release web -a <app>
似乎您无法直接指定图像版本/标签;container:release
总是采用latest
标签。
在 Ruby on Rails 中,你可以编写 Procfile 来指定进程类型 喜欢这个:
web: rails s
worker: rake jobs:work