Flaskの環境をPIPとDockerの二つの方法で構築する方法
概要
Python ベースの Web フレームワークである Flask の様々な環境構築方法について解説します。
本記事では、以下2通りの方法で環境構築をする方法を紹介します。
- PIPで環境構築する方法
- Dockerを使用して、環境構築する方法
ここでは、以下バージョンを使用した、Flaskの環境を構築する方法を説明します。
Flask v2.3.0
Python v3.11.4
また、今回作成するコードは全て、以下に掲載しています。 https://github.com/wiblok/flask
※ FlaskはPythonで動作します。Pythonがインストールされていない場合は、公式ウェブサイトからダウンロードしてインストールしてください。
Python
PIPを使った環境構築方法
この方法では、Flask のコアモジュールを import して使用します。 以下の手順に従って実行してください。
Flask単体で環境を構築するには、以下の前提条件を満たす必要があります
- Python 3.6以上がインストールされていること
- pipがインストールされていること
プロジェクトディレクトリの作成
まず、Flaskプロジェクトを作成するために新しいディレクトリを作成します。コマンドラインで以下のコマンドを実行してください
mkdir flask-pip-project
プロジェクトディレクトリへの移動
プロジェクトディレクトリに移動します。以下のコマンドを実行してください:
cd flask-pip-project
移動後、プロジェクトのルートディレクトリに移動します。
Flaskのインストール
Flaskをインストールします。以下のコマンドを実行してください:
pip install flask
これにより、Flaskがプロジェクトに追加されます。
アプリケーションの作成
Flaskアプリケーションを作成します。プロジェクトディレクトリ内に新しいファイル(例: app.py
)を作成し、以下のコードを追加してください:
app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, Flask!"
上記の例では、Flaskアプリケーションの基本的な構造を示しています。@app.route("/")
デコレーターを使用してルートパスに対するハンドラーを定義し、レスポンスとして"Hello, Flask!"
を返します。
サーバーの起動
最後に、Flaskサーバーを起動します。以下のコマンドを実行してください:
export FLASK_APP=app.py
flask run --reload
サーバーが正常に起動すると、コンソールに「Running on http://127.0.0.1:5000/」(デフォルトのホストとポート)と表示されます。ブラウザでhttp://localhost:5000にアクセスして、Flaskアプリケーションが正常に動作していることを確認してください。
テスト
curl http://localhost:5000/
Dockerを使った環境構築方法
まずはじめに、Dockerをインストールしてください。公式のDockerウェブサイトから、対応するオペレーティングシステムに合わせたDockerのインストーラーをダウンロードし、インストールを行ってください。
プロジェクトディレクトリの作成
まず、Flaskプロジェクトを作成するために新しいディレクトリを作成します。コマンドラインで以下のコマンドを実行してください:
mkdir flask-docker-project
プロジェクトディレクトリへの移動
プロジェクトディレクトリに移動します。以下のコマンドを実行
してください:
cd flask-docker-project
移動後、プロジェクトのルートディレクトリに移動します。
アプリケーションの作成
Flaskアプリケーションを作成します。プロジェクトディレクトリ内に新しいファイル(例: app.py
)を作成し、以下のコードを追加してください:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, Flask!'
Dockerfileの作成
FlaskアプリケーションをDockerイメージとしてビルドするために、プロジェクトフォルダ内にDockerfile
という名前のファイルを作成し、以下の内容を追加します。
FROM python:3.11.4
WORKDIR /app
COPY . /app
RUN pip install flask
EXPOSE 5000
CMD ["flask", "run", "--host", "0.0.0.0", "--port", "5000"]
Dockerイメージのビルド
以下のコマンドを使用して、Dockerイメージをビルドします。
docker build -t flask-docker-project .
Dockerコンテナの実行
ビルドしたDockerイメージからDockerコンテナを実行します。
docker run -p 5000:5000 -d flask-docker-project
これにより、FlaskアプリケーションがDockerコンテナ内で実行され、ホストのポート5000にマッピングされます。ブラウザやAPIテストツールなどから http://localhost:5000 にアクセスすることでFlaskアプリケーションにアクセスできます。
テスト
curl http://localhost:5000/
以上が、Dockerを使用してFlaskアプリケーションを環境構築する手順です。Dockerを活用することで、環境構築の手間を減らし、開発プロセスをスムーズにすることができます。
注意: ホストのファイアウォールやネットワーク設定によっては、ポート5000へのアクセスが制限されている場合があります。必要に応じて、ファイアウォールやネットワーク設定を調整してください。
まとめ
以上、Flaskの環境構築について2つの方法を紹介しました。まず、PIPを使った方法では、Python環境の中で直接Flaskをセットアップし、Webアプリケーションを作成しました。そして、Dockerを使った方法では、Dockerコンテナの中に独立した環境を作り出し、Flaskアプリケーションを作成・実行しました。
それぞれの方法にはメリットがあります。PIPを使った方法はシンプルで手軽に始めることができますが、プロジェクトごとのPython環境が異なる場合は管理が複雑になります。一方、Dockerを使った方法は独立した環境を作れるため、複数のプロジェクトを同時に管理するのに便利です。また、チーム開発や本番環境へのデプロイを想定している場合には、Dockerを用いた環境構築がおすすめです。
この記事がFlaskの環境構築に関心がある方々の参考になれば幸いです。