Heim  >  Artikel  >  Backend-Entwicklung  >  So stellen Sie Anwendungen mithilfe der Docker-Containerisierung in FastAPI bereit

So stellen Sie Anwendungen mithilfe der Docker-Containerisierung in FastAPI bereit

WBOY
WBOYOriginal
2023-07-28 13:25:514008Durchsuche

So stellen Sie Anwendungen mithilfe der Docker-Containerisierung in FastAPI bereit

Einführung:
Docker ist eine Containerisierungstechnologie, die Anwendungen und ihre Abhängigkeiten in einem eigenständigen, tragbaren Container verpackt und so eine schnelle Bereitstellung und Erweiterung ermöglicht. FastAPI ist ein modernes, leistungsstarkes Webframework auf Basis von Python, das eine einfache und schnelle API-Entwicklungserfahrung bietet. In diesem Artikel wird die Verwendung der Docker-Containerisierung zum Bereitstellen von Anwendungen in FastAPI vorgestellt und entsprechende Codebeispiele bereitgestellt.

Schritt 1: Erstellen Sie eine FastAPI-Anwendung
Zuerst müssen wir eine einfache FastAPI-Anwendung erstellen. Hier ist ein einfaches Beispiel:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

Im obigen Code haben wir eine grundlegende FastAPI-Anwendung erstellt, die eine JSON-Antwort zurückgibt, wenn der Benutzer über den Root-Pfad auf die Anwendung zugreift.

Schritt 2: Docker-Datei schreiben
Als nächstes müssen wir eine Docker-Datei schreiben, die zum Erstellen des Docker-Images verwendet wird. Erstellen Sie eine Datei mit dem Namen Dockerfile im Stammverzeichnis des Projekts und fügen Sie den folgenden Inhalt hinzu:

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"]

In der obigen Docker-Datei haben wir zunächst ein Basis-Image ausgewählt, das für FastAPI tiangolo/uvicorn-gunicorn-fastapi:python3.7 geeignet ist. Anschließend kopieren wir den App-Ordner im Projektverzeichnis in das /app-Verzeichnis des Containers und legen das Arbeitsverzeichnis auf /app fest. Als Nächstes installieren wir die Abhängigkeiten der Anwendung, indem wir pip install -r require.txt ausführen. Abschließend starten wir die Anwendung mit dem CMD-Befehl.

Schritt 3: Erstellen Sie das Docker-Image
Wechseln Sie in der Befehlszeile in das Stammverzeichnis des Projekts und führen Sie den folgenden Befehl aus, um das Docker-Image zu erstellen:

docker build -t fastapi-app .

Der obige Befehl verwendet die Docker-Datei, um ein Docker-Image mit dem Namen zu erstellen Fastapi-App. „.“ bedeutet, dass sich die Docker-Datei im aktuellen Verzeichnis befindet.

Schritt 4: Führen Sie den Docker-Container aus
Nachdem wir das Docker-Image erstellt haben, können wir den folgenden Befehl verwenden, um den Docker-Container auszuführen:

docker run -d -p 80:80 fastapi-app

Im obigen Befehl bedeutet -d, dass der Container als Daemon ausgeführt wird, und -p 80 :80 bedeutet, dass beim Ändern des Host-Ports 80 Port 80 des Containers zugeordnet wird und fastapi-app das auszuführende Docker-Image darstellt.

Jetzt haben wir die FastAPI-Anwendung erfolgreich containerisiert und über Docker ausgeführt.

Fazit:
Durch die Containerisierung von FastAPI-Anwendungen können wir eine schnelle Bereitstellung und Skalierung erreichen. Docker-Container erleichtern das Packen einer Anwendung und ihrer Abhängigkeiten in einen eigenständigen, tragbaren Container und reduzieren so die Komplexität der Bereitstellung und Konfiguration. In diesem Artikel wird beschrieben, wie Sie mithilfe der Docker-Containerisierung Anwendungen in FastAPI bereitstellen, und entsprechende Codebeispiele bereitstellen. Ich hoffe, dieser Artikel hilft Ihnen!

Das obige ist der detaillierte Inhalt vonSo stellen Sie Anwendungen mithilfe der Docker-Containerisierung in FastAPI bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn