LoginSignup
1
1

More than 3 years have passed since last update.

flaskアプリをdockerfileを使用しherokuへデプロイ

Last updated at Posted at 2020-07-22

今回は完成しているフラスクアプリをdockerfileから動かしherokuでデプロイするまでを記述します。
ネットを探してもあまりいい記事が見つからずあまり普段はほとんど見ることのない公式のドキュメントを見て実行することにしました。
heroku公式ドキュメント

Dockerfile

FROM ubuntu:latest

RUN apt-get update
RUN apt-get install python3 python3-pip -y

COPY . /home
WORKDIR /home

RUN pip3 install -r requirements.txt
RUN pip3 install email_validator

RUN ls /home

ENV FLASK_APP app.py
RUN echo $FLASK_APP

RUN flask db init
RUN flask db migrate
RUN flask db upgrade
RUN ls /home

CMD flask run -h 0.0.0.0 -p $PORT

herokuにdockerとしてデプロイする時に重要なのは下の行です。
CMD flask run -h 0.0.0.0 -p $PORT
$PORTについてはheroku側でうまくやってくれるらしいです。

app.pyのrunさせるとこ

if __name__ == '__main__':
    app.run(host='0.0.0.0',debug=True)

host='0.0.0.0'にしないといけない

herokuへデプロイ作業

$ mkdir project
$ cd project
$ git clone <自分で作成したdockerfileが置いてあるリポジトリ>
$ heroku login
$ heroku create
$ heroku container:push web
$ heroku container:release web
$ heroku open

<>の中以外はそのまま入力しました。

修正してまたデプロイするとき

$ heroku container:push web
$ heroku container:release web
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1