我想为一个开源项目创建一个“ 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撤出,而不是从源代码构建?
答案 0 :(得分:0)
唯一的方法是拥有一个包含以下内容的Dockerfile.heroku
文件:
FROM <your dockerhub image>
然后,在heroku.yml
中:
build:
docker:
worker: Dockerfile.heroku
通过此过程,Heroku将始终从源代码构建。但这将通过从DockerHub中提取映像,并丢弃其他所有内容来实现。
无法使用Heroku的构建系统仅提取图像。