バージョン 🔗
- 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__/