🐳 FastAPI × Docker × Cloud Run
🐳

FastAPI × Docker × Cloud Run
実践ハンズオン学習

Pythonで REST API を作り、Dockerでコンテナ化して、 Google Cloud Run へデプロイするまでを、手を動かしながら学ぶ日本語チュートリアルです。

3つの技術の役割

⚡

FastAPI

  • •Python型ヒントで自動バリデーション
  • •OpenAPI/Swagger自動生成
  • •async/awaitで高速処理
🐳

Docker

  • •どこでも同じ環境を再現
  • •依存関係をまとめてパッケージング
  • •イメージをそのままデプロイ
☁️

Cloud Run

  • •サーバー管理不要のフルマネージド
  • •リクエスト数に応じて自動スケール
  • •HTTPS・ドメイン自動設定

デプロイの流れ

FastAPI アプリ
→
docker build
→
Artifact Registry
→
Cloud Run
→
🌐 公開URL

学習コース

全 13 章・上から順番に進めましょう

1

なぜ FastAPI + Docker + Cloud Run か

初級約15分

FastAPI、Docker、Cloud Run それぞれの役割と、なぜこの組み合わせが現代のAPI開発に最適なのかを理解する

→
2

ローカル環境の構築

初級約30分

Python、uv、Docker、gcloud をインストールし、Google Cloud の初期設定を行う

→
3

FastAPI 入門

初級約45分

ルーティング、Pydantic モデル、依存性注入、async/await、自動ドキュメント生成を実際にコードを書いて学ぶ

→
4

pytest でAPIをテストする

初級約30分

pytest と httpx を使って FastAPI アプリのテストを書き、CI でも通る自動テストを実装する

→
5

Docker入門: イメージとコンテナの基本操作

初級約30分

Docker の根本概念「イメージ」と「コンテナ」の違いを理解し、docker run・ps・logs・stop・rm などの基本コマンドを習得する。hello-world と Nginx を動かしてポート公開を体験する

→
6

Dockerfile入門: FastAPIをコンテナ化する

初級約35分

FROM・WORKDIR・COPY・RUN・CMD の各命令を学び、FastAPI アプリを Dockerfile で単体コンテナ化する。ビルドコンテキストとポート公開の仕組みも理解する

→
7

Dockerfile改善: キャッシュ・マルチステージ・セキュリティ

中級約35分

.dockerignore でビルドコンテキストを削減し、レイヤキャッシュを活かす命令順序を学ぶ。マルチステージビルドで小さいイメージを作り、non-root ユーザーでセキュリティを高める

→
8

ComposeとDB: FastAPI + Postgres を一発起動する

中級約45分

compose.yaml でサービス間通信・環境変数・depends_on・healthcheck・volume を設定し、docker compose up -d --build で FastAPI と Postgres を同時に起動する。volume による DB 永続化も確認する

→
9

Dockerトラブルシュート集: 詰まったときの調べ方

中級約30分

docker compose ps / logs / exec / inspect を使ったデバッグ手順を体系化する。ポート競合・デーモン未起動・マウント権限・DB 接続失敗の典型パターンと解決策をカバーする

→
10

発展: レジストリ・タグ運用・CI/CD・セキュリティ

上級約40分

Artifact Registry へのイメージ push、タグ運用の考え方、CI/CD との接続、Rootless Docker、Docker Scout によるイメージスキャンを紹介する発展編

→
11

Cloud Run へのデプロイ

中級約45分

Artifact Registry にイメージを push し、Cloud Run サービスをデプロイする。IAM、環境変数、Secret Manager の設定も含む

→
12

運用・トラブルシュート

中級約35分

Cloud Run のリビジョン管理、トラフィック制御、ログ確認、よくあるエラー (503/404/403) の対処法を学ぶ

→
13

発展: GitHub Actions で CI/CD を構築する

上級約60分

GitHub Actions と Workload Identity Federation (OIDC) を使って、プッシュするだけで自動テスト・ビルド・Cloud Run デプロイが走るパイプラインを構築する

→

必要なツール

🐍
Python 3.10+
FastAPI の実行環境
⚡
uv
高速パッケージマネージャー
🐳
Docker Desktop
コンテナのビルド・実行
☁️
gcloud CLI
Google Cloud の操作

インストール方法は 「02 ローカル環境の構築」 で詳しく説明しています。

💬

わからないことはAIに聞こう

このサイトの教材を元に Gemini が回答します。 コマンドの意味、エラーの原因、概念の説明など、何でも質問してください。

AIチャットを開く →