FastAPI lokales Docker-Compose Setup

Um FastAPI mit Docker Compose lokal auszuführen, müssen Sie die folgenden Schritte ausführen:

Schritt 1: Erstellen Sie ein neues Verzeichnis für Ihr Projekt und navigieren Sie in Ihrem Terminal dorthin.

Schritt 2: Erstellen Sie eine neue Datei namens Dockerfile im Projektverzeichnis und fügen Sie den folgenden Code ein:

FROM tiangolo/uvicorn-gunicorn-fastapi:python3.9

COPY ./app /app

Dies erstellt ein Docker-Image, das auf dem offiziellen tiangolo/uvicorn-gunicorn-fastapi-Image basiert und kopiert den Inhalt des app-Verzeichnisses in das /app-Verzeichnis des Images.

Schritt 3: Erstellen Sie eine neue Datei namens docker-compose.yml im Projektverzeichnis und fügen Sie den folgenden Code darin ein:

version: '3'

services:
  app:
    build: .
    ports:
      - "8000:80"

Dadurch wird ein neuer Dienst namens "app" auf der Grundlage des soeben erstellten Docker-Images erstellt und der Port "8000" auf unserem lokalen Rechner dem Port "80" im Container zugeordnet.

Schritt 4: Erstellen Sie ein neues Verzeichnis namens app im Projektverzeichnis und erstellen Sie darin eine neue Datei namens main.py. Diese Datei sollte Ihren FastAPI-Code enthalten.

Schritt 5: Starten Sie den Container, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:

docker-compose up

Damit wird das Docker-Image erstellt und der Container gestartet. Sie sollten in der Lage sein, auf Ihre FastAPI-Anwendung zuzugreifen, indem Sie http://localhost:8000 in Ihrem Webbrowser aufrufen.

Hier ist die endgültige Verzeichnisstruktur Ihres Projekts:

.
├── Dockerfile
├─── docker-compose.yml
└─── app
    └── main.py

Und hier ist eine Beispieldatei main.py, die Sie verwenden können, um die Einrichtung zu testen:

from fastapi importieren FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello, World!"}

Mit diesem Setup sollten Sie in der Lage sein, Ihre FastAPI-App lokal mit Docker Compose auszuführen und zu testen.