Flask+Docker+docker-composeで環境構築

FlaskというPythonのWebフレームワークのローカル環境構築方法をまとめました。

https://ja.wikipedia.org/wiki/Flask

Flaskは最低限の機能しかのち合わせていないフレームワークでマイクロサービスに向いていることで知られています。簡単なウェブサービスを作りたい時にはこれ!と太鼓判を押す人もいます。

今回は単純にブラウザでアクセスした時に helloと表示するまでをやってみたいと思います。

環境

ホスト

  • MacOS: 10.13.4
  • Docker: 18.06.1-ce, build e68fc7a
  • docker-compose: 1.22.0, build f46880f

ゲスト

  • Python: 3.8
  • Flask: 1.1.2

コード

requirements.txt

Flask==1.1.2

Dockerfile

FROM python:3.8-alpine
ENV APP_PATH /app
RUN mkdir -p $APP_PATH
COPY requirements.txt $APP_PATH/
RUN pip install --no-cache-dir -r $APP_PATH/requirements.txt
WORKDIR $APP_PATH

docker-compose.yml

version: "3"
services:
  app:
    restart: always
    build:
      context: .
    tty: true
    volumes:
      - ".:/app"
    ports:
      - 5000:5000
    command: "flask run --host 0.0.0.0 --debugger --reload --port 5000"

app.py

from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
    return 'hello'
if __name__ == "__main__":
    app.run(debug=True)

イメージビルド

$ docker-compose build

コンテナ起動

$ docker-compose up

ブラウザアクセス

ブラウザで http://127.0.0.1:5000 にアクセスしてみてください。下のような画面になれば成功です。

以上、簡単ではありますがFlaskでのローカル環境構築まとめでした。最後までお読みいただきありがとうございました。

Related Posts