はじめに
HerokuでDockerイメージをデプロイ出来るということで試してみたのでササッと手順をまとめます。
今回はGoで試しましたが、Dockerコンテナで動いていれば汎用的に使える手順だと思います。
環境
$ brew -v
Homebrew 3.2.3
$ docker -v
Docker version 20.10.7, build f0df350
事前準備
Dockerfileを記述して、アプリケーションが動作する環境を作成してください。
なお、Herokuではポート番号を環境変数から取得する必要があり、注意が必要です。
詳細は以下に記述しています。
Herokuではポート番号を環境変数から取得する必要がある - Qiita
手順
デプロイまでの手順を書いていきます。参考にしたページも随時貼っていきます。
Herokuのアカウントを作る
持っていない人は作りましょう。
https://id.heroku.com/login
Heroku CLIを入れる
brewでインストールする。
$ brew tap heroku/brew && brew install heroku
インストール出来ていることを確認する。
$ heroku -v
heroku/7.56.1 darwin-x64 node-v12.21.0
Heroku CLI | Heroku Dev Center ダウンロードおよびインストール
ログインする
CLIからHerokuにログインする。
$ heroku login
heroku: Press any key to open up the browser to login or q to exit:
qOpening browser to https://cli-auth.heroku.com/auth/cli/browser/
...(省略)
以下、ログイン後
Logging in... done
Logged in as {MailAddress}
ブラウザで以下の画面が開かれるのでLog In
をクリックする。
Container Registryにログインする。
$ heroku container:login
Login Succeeded
Heroku CLI | Heroku Dev Center はじめに
Herokuアプリの定義ファイルを書く
デプロイするサービスのルートディレクトリに記述する。今回は最低限書く。
build:
docker:
web: Dockerfile
heroku.yml を使用して Docker イメージをビルドする | Heroku Dev Center はじめに
Heroku上にアプリを作成する
Heroku上にアプリを作る。heroku create {アプリ名}
でアプリ名の指定も可能。
この時点でデプロイ先も作成される。
$ heroku create
Creating app... done, floating-*******-*******
https://floating-*******-*******.herokuapp.com/ | https://git.heroku.com/floating-*******-*******.git
スタックの設定をコンテナにする
$ heroku stack:set container
Setting stack to container... done
heroku.yml を使用して Docker イメージをビルドする | Heroku Dev Center はじめに
デプロイする
$ git push heroku master
デプロイされたものを確認する
デプロイされたものを確認します。
$ heroku open
最後に
これが無料で使えるのは最高ですね^^
参考
Docker によるデプロイ | Heroku Dev Center
heroku.ymlを使用したDockerイメージの構築| Heroku Dev Center