如何通过app.json在Heroku上运行Docker Hub容器?

时间:2019-10-02 11:12:12

标签: docker heroku

我想为一个开源项目创建一个“ Deploy to Heroku”按钮。单击按钮后,我希望Heroku从Docker Hub部署最新映像。如何通过我的 app.json 清单实现此目标?

app.json schema允许我设置"stack": "container"来指定我要运行容器,但是通过此设置,我所能实现的只是通过< em> heroku.yml 文件。

来自我的 app.json

  "stack": "container",
  "formation": {
    "worker": {
      "quantity": 1
    }
  }

来自我的 heroku.yml

build: 
  docker:
    worker: Dockerfile

上面的 app.json heroku.yml 文件在部署时成功从master容器构建。

如何在部署时从Docker Hub撤出,而不是从源代码构建?

1 个答案:

答案 0 :(得分:0)

唯一的方法是拥有一个包含以下内容的Dockerfile.heroku文件:

FROM <your dockerhub image>

然后,在heroku.yml中:

build: 
  docker:
    worker: Dockerfile.heroku

通过此过程,Heroku将始终从源代码构建。但这将通过从DockerHub中提取映像,并丢弃其他所有内容来实现。

无法使用Heroku的构建系统仅提取图像。