【DockerCompose】Herokuコンテナデプロイとマイグレーション
DockerComposeでのRailsアプリ作成が終わっていることを前提とします。
こちらの記事ではHerokuにコンテナをデプロイ、また、マイグレーションを行う手順を記します。
実行環境
・Docker version 19.03.13
・docker-compose version 1.27.4
ローカル環境ではコンテナを停止しておく
ローカル環境でコンテナが動いているとHerokuへのデプロイ時にエラーが出る可能性があるので、止めておきます。
また、pidも予め削除しておきます。
$ docker-compose down
$ rm tmp/pids/server.pid
新規にデプロイする場合
まずはHerokuに新規アプリケーションを作成します。
$ heroku create
データベースを使う場合は合わせてHeroku上にも構築しておきます。
$ heroku addons:create heroku-postgresql:hobby-dev
これ以降の手順は後述する既存アプリのデプロイと一緒です。
既存アプリのデプロイ(更新)
既にHerokuにデプロイ済のアプリケーションを更新する場合の手順です。
まずはHeroku CLI を利用して、Herokuコンテナレジストリにログインします。
$ heroku container:login
次にイメージのビルドとプッシュを行います。
ここで既にあるコンテナではなく、コンテナが新規作成されます。
$ heroku container:push web
# プッシュが終わると、以下のような一文が出力される
Your image has been successfully pushed. You can now release it with the 'container:release' command.
コンテナレジストリへのプッシュが正常に終わったら、イメージのリリースを行います。
$ heroku container:release web
マイグレーションの実行
マイグレーションファイルに更新がかかっている場合はHeroku上のDBにもマイグレーションを実行してやる必要がある。
$ heroku run rails db:migrate
Herokuのdynoを再起動します。
dynoとはHerokuアプリケーションを実行しているLinuxコンテナです。
$ heroku ps:restart
アプリを実行する
デプロイが済んだらアプリケーションをブラウザで開きます。
$ heroku open
今回はここまで。では、また〜。
ディスカッション
コメント一覧
まだ、コメントがありません