FastAPI で Docker コンテナ化を使用してアプリケーションをデプロイする方法

WBOY
リリース: 2023-07-28 13:25:51
オリジナル
3982 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!