'Deploy to Heroku' Buttonで、Dockerイメージを利用してDeploy
'Deploy to Heroku' Buttonを使った際に、Dockerイメージを利用してDeployする方法がわかりづらかったのでメモ。
対象のリポジトリに用意するものは次の3つ。
heroku.yml
app.json
Dockerfile
heroku.yml
最低限の記述は次のような感じ。 ※Node.jsアプリの例
build:
docker:
web: Dockerfile
run:
web: node dist/index.js
app.json
いつものように書けばいいが、stack
にはcontainer
を指定する。
{
"name": "kakuyomu feed API",
"description": "Providing kakuyomu feed API",
"repository": "https://github.com/bagpack/kakuyomu-feed",
"keywords": ["node", "kakuyomu", "feed"],
"stack": "container"
}
このcontainer
オプションはドキュメントになぜか書いていない。
Dockerfile
いつものように書く。
リポジトリ
以上を実装したリポジトリがこちらになります。
参考
Docker Builds with heroku.yml (beta) | Heroku Dev Center
Container Registry & Runtime (Docker Deploys) | Heroku Dev Center