この記事では、PythonのWebフレームワークであるFlaskとDockerを組み合わせてWebアプリケーションを構築する方法について説明します。

ステップ1: プロジェクトのセットアップ

まず、プロジェクトディレクトリを作成し、次のようなファイル構造を持つディレクトリを作成します:

my-flask-app/
|-- app.py
|-- Dockerfile
|-- requirements.txt
|-- docker-compose.yml

各ファイルの詳細は以下の通りです:

  • app.py : FlaskアプリケーションのPythonコード
  • Dockerfile : Dockerイメージのビルド設定
  • requirements.txt : Flaskとその他の依存ライブラリのリスト
  • docker-compose.yml : Docker Composeの設定ファイル

ステップ2: Flaskアプリケーションの作成

次に、app.pyファイルにFlaskアプリケーションを作成します。以下は簡単な例です:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def flask_app():
    return 'おめでとう成功だ!'

ステップ3: Dockerfileの作成

次に、DockerイメージをビルドするためのDockerfileを作成します。プロジェクトディレクトリにDockerfileを作成し、以下の内容を記述します:

# Pythonランタイムを親イメージとして使用
FROM python:3.8

# 作業ディレクトリを/appに設定
WORKDIR /app

# 現在のディレクトリの内容をコンテナ内の/appにコピー
COPY . /app

# requirements.txtで指定された必要なパッケージをインストール
RUN pip install -r requirements.txt

# ポートの公開
EXPOSE 5000

# コンテナ起動時にapp.pyを実行
CMD ["python", "app.py"]

ステップ4: requirements.txtの設定

Flaskとその他の依存ライブラリをrequirements.txtファイルにリストアップします。例えば:

Flask==2.3.3
Werkzeug==2.3.7

ステップ5: Docker Composeの設定

最後に、Docker Composeを使用してFlaskアプリケーションとRedisデータベースを含むコンテナを起動する設定を行います。docker-compose.ymlファイルをプロジェクトディレクトリに作成し、以下の内容を記述します:

version: '3'
services:
  web:
    build: .
    ports:
      - "5000:5000"
  redis:
    image: redis

ステップ6: Dockerイメージのビルドとコンテナの起動

すべてのファイルと設定が完了したら、以下のコマンドを使用してDockerイメージをビルドし、コンテナを起動します:

docker-compose build
docker-compose up

これで、Flaskアプリケーションがポート5000で実行され、Dockerコンテナ内でRedisデータベースが実行されます。ブラウザで http://localhost:5000 にアクセスするか、他のHTTPクライントを使用してアプリケーションにアクセスし「おめでとう成功だ!」と表示されれば完了です。

以上が、Python FlaskとDockerを組み合わせたWebアプリケーションの構築方法です。この方法を用いることで、開発から本番環境へのデプロイメントまで、効率的な開発と運用を実現できます。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です