Die Model-API mit Docker containerisieren
Dockerfile für FastAPI + Modell, Multi-Stage-Builds, Health-Check-Endpunkt, docker-compose.
Die Model-API mit Docker containerisieren ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Warum Docker?
Docker bündelt Ihre API, ihre Python-Version und alle Abhängigkeiten in einem portablen Image, das auf jedem Rechner identisch ausgeführt wird. Damit gehören Probleme nach dem Muster „Funktioniert auf meinem Laptop“ der Vergangenheit an. Docker ist die Standardlösung für die Bereitstellung von ML-Diensten.
Das Dockerfile
Ein Dockerfile ist eine Abfolge von Build-Schritten. Jede Anweisung erstellt eine gecachte Layer, daher beschleunigt eine gute Reihenfolge der Schritte spätere Neubauten.
FROM python:3.11-slim
Die Zeile FROM legt das Basis-Image fest. python:3.11-slim ist ein kleines Debian-Image mit vorinstalliertem Python und deutlich schlanker als das vollständige Image. Dadurch werden die endgültige Größe und die Angriffsfläche reduziert.
FROM python:3.11-slimWORKDIR /app
WORKDIR legt das Arbeitsverzeichnis innerhalb des Containers fest. Nachfolgende COPY- und RUN-Befehle arbeiten relativ dazu, wodurch die Pfade übersichtlich bleiben.
WORKDIR /appRequirements zuerst kopieren
Kopieren Sie zunächst nur requirements.txt, bevor Sie den Quellcode kopieren. Da Docker Layer cached, werden Abhängigkeiten nur neu installiert, wenn sich die Requirements ändern, und nicht bei jeder Codeänderung. Das beschleunigt Neubauten erheblich.
COPY requirements.txt .RUN pip install --no-cache-dir
RUN führt einen Build-Befehl aus. --no-cache-dir überspringt den Download-Cache von pip, sodass das Image kleiner bleibt. Der Cache ist innerhalb eines Images ohnehin nutzlos.
RUN pip install --no-cache-dir -r requirements.txtDen Quellcode kopieren
Kopieren Sie nun den restlichen Anwendungscode. Wenn Sie dies nach der pip-Installation tun, macht eine Codeänderung die gecachte Abhängigkeits-Layer nicht ungültig.
COPY . .EXPOSE 8000
EXPOSE dokumentiert, an welchem Port der Container auf Verbindungen wartet. Der Port wird dadurch nicht selbst veröffentlicht (das erledigen Sie zur Laufzeit mit -p), aber die Anweisung signalisiert Lesern und Tools die Absicht.
EXPOSE 8000Die CMD-Anweisung
CMD definiert den Standardbefehl, der beim Start des Containers ausgeführt wird. Hier starten wir uvicorn und binden es an 0.0.0.0, damit der Dienst von außerhalb des Containers erreichbar ist.
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]Das vollständige Dockerfile
Alle Bestandteile in der richtigen, cache-freundlichen Reihenfolge:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]Erstellen und ausführen
Erstellen Sie das Image mit einem Tag und führen Sie es anschließend aus. Ordnen Sie dabei den Container-Port mit -p Ihrem Host-Port zu.
# terminal
docker build -t model-api .
docker run -p 8000:8000 model-apiKurzer Test
Testen Sie Ihr Docker-Wissen.
Zusammenfassung
Sie haben die API mit Docker bereitgestellt: FROM python:3.11-slim, WORKDIR /app, zuerst requirements.txt kopiert, RUN pip install --no-cache-dir ausgeführt, den Quellcode kopiert, EXPOSE 8000 festgelegt und mit einem CMD uvicorn gestartet. Die Reihenfolge der Schritte für das Layer-Caching hält Neubauten schnell. Damit sind der FastAPI-Kurs zum Bereitstellen von APIs und dieser Inhaltsblock abgeschlossen.
Häufig gestellte Fragen
Ist die Lektion „Die Model-API mit Docker containerisieren“ kostenlos?
Ja — der vollständige Text von „Die Model-API mit Docker containerisieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Die Model-API mit Docker containerisieren“?
Dockerfile für FastAPI + Modell, Multi-Stage-Builds, Health-Check-Endpunkt, docker-compose. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Die Model-API mit Docker containerisieren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- FastAPI-Grundlagen für ML Engineers
- Pydantic-Schemas für Requests und Responses
- ML-Modelle laden und bereitstellen
- Die Model-API mit Docker containerisieren