高木のブログ

【Python】Docker で FastAPI の開発環境を構築する

· 107 words · 1 minutes to read

バージョン 🔗

  • Docker 20.10.21
  • Docker Compose 2.12.2
  • Python 3.11

手順 🔗

アプリのディレクトリ作成と移動 🔗

$ mkdir rails-app
$ cd rails-app

必要なファイルの準備 🔗

以下、4つのファイルを作成する

  • Dockerfile
  • compose.yml
  • main.py
  • requirements.txt
FROM python:3.11-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade -r /app/requirements.txt

COPY . /app

CMD ["uvicorn", "main:app", "--reload", "--host", "0.0.0.0"]
services:
  web:
    build: .
    command: uvicorn main:app --reload --host 0.0.0.0
    volumes:
      - .:/app
    ports:
      - 8000:8000
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return { "message": "Hello World!" }
fastapi
uvicorn[standard]

ビルドと起動 🔗

$ docker compose build
$ docker compose up

確認 🔗

$ curl localhost:8000
{"message":"Hello World!"}

補足 🔗

__pycache__ というディレクトリが自動生成される
これはキャッシュを保存しておくためのディレクトリなので、Git 使う場合は除外対象にしておく

__pycache__/

参考 🔗

Categories


Tags