Docker コンテナ化を使用して FastAPI にアプリケーションをデプロイする方法
はじめに:
Docker は、アプリケーションとその依存関係を自己完結型のポータブル コンテナにパッケージ化し、迅速なデプロイと拡張を可能にするコンテナ化テクノロジです。 FastAPI は、Python をベースとした最新の高性能 Web フレームワークで、シンプルで高速な API 開発エクスペリエンスを提供します。この記事では、Docker コンテナ化を使用して FastAPI にアプリケーションをデプロイする方法を紹介し、対応するコード例を示します。
ステップ 1: FastAPI アプリケーションを作成する
まず、単純な FastAPI アプリケーションを作成する必要があります。簡単な例を次に示します。
from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"}
上記のコードでは、ユーザーがルート パス経由でアプリケーションにアクセスすると JSON 応答を返す基本的な FastAPI アプリケーションを作成しました。
ステップ 2: Dockerfile を作成する
次に、Docker イメージの構築に使用される Dockerfile を作成する必要があります。プロジェクトのルート ディレクトリに Dockerfile という名前のファイルを作成し、次の内容を追加します:
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.7 COPY ./app /app WORKDIR /app RUN pip install -r requirements.txt CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]
上記の Dockerfile では、最初に FastAPI: python3.7 に適したベース イメージ tiangolo/uvicorn-gunicorn-fastapi を選択しました。 。次に、プロジェクト ディレクトリ内の app フォルダーをコンテナーの /app ディレクトリにコピーし、作業ディレクトリを /app に設定します。次に、pip install -r required.txt を実行して、アプリケーションの依存関係をインストールします。最後に、CMD コマンドを使用してアプリケーションを起動します。
ステップ 3: Docker イメージをビルドする
コマンド ラインで、プロジェクトのルート ディレクトリに切り替え、次のコマンドを実行して Docker イメージをビルドします:
docker build -t fastapi-app .
上記のコマンドDockerfile を使用して、fastapi-app という名前の Docker イメージを構築します。 「.」は、Dockerfile が現在のディレクトリにあることを意味します。
ステップ 4: Docker コンテナを実行する
Docker イメージを構築した後、次のコマンドを使用して Docker コンテナを実行できます:
docker run -d -p 80:80 fastapi-app
上記のコマンドでは、-d は実行を意味します。デーモン モード コンテナーでは、-p 80:80 はホストのポート 80 をコンテナーのポート 80 にマッピングすることを意味し、fastapi-app は実行される Docker イメージを意味します。
これで、FastAPI アプリケーションのコンテナ化に成功し、Docker を通じて実行できました。
結論:
FastAPI アプリケーションをコンテナ化することで、迅速なデプロイメントとスケーリングを実現できます。 Docker コンテナを使用すると、アプリケーションとその依存関係を自己完結型のポータブル コンテナに簡単にパッケージ化できるため、展開と構成の複雑さが軽減されます。この記事では、Docker コンテナ化を使用してアプリケーションを FastAPI にデプロイする方法について説明し、対応するコード例を示します。この記事がお役に立てば幸いです!
以上がFastAPI で Docker コンテナ化を使用してアプリケーションをデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。