Containerisierung mit Docker
Verpacken Sie Ihre Anwendung und ihre Abhängigkeiten in portable Container, um konsistente Deployments zu ermöglichen.
Containerisierung mit Docker ist eine kostenlose AI SaaS Builder-Lektion auf CoddyKit. Dies ist Lektion 2 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 AI SaaS Builder-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI SaaS Builder-Kurs umfasst insgesamt 4 Lektionen.
Das „Funktioniert auf meinem Rechner“-Problem
Haben Sie schon einmal den frustrierenden Satz gehört: „Auf meinem Rechner funktioniert es!“? Dieses häufige Problem tritt auf, wenn Software auf dem Computer einer Entwicklerin oder eines Entwicklers problemlos läuft, in einer anderen Umgebung – etwa auf einem Testserver oder in der Cloud – jedoch nicht korrekt funktioniert.
Unterschiede bei Betriebssystemen, installierten Bibliotheken oder Abhängigkeitsversionen führen häufig zu diesem inkonsistenten Verhalten und verursachen Schwierigkeiten bei der Bereitstellung.
Containerisierung kommt ins Spiel
Containerisierung löst dieses Problem, indem sie Ihre Anwendung und alle benötigten Komponenten in einer einzigen, isolierten Einheit verpackt: einem sogenannten Container. Stellen Sie sich diesen wie einen eigenständigen Mini-Computer für Ihre Anwendung vor.
- Er enthält den Anwendungscode.
- Alle zugehörigen Bibliotheken und Frameworks.
- Alle erforderlichen Konfigurationen.
So verhält sich Ihre Software unabhängig vom Bereitstellungsort immer gleich.
Was ist Docker?
Docker ist die führende Plattform zum Erstellen, Teilen und Ausführen von Containern. Sie stellt ein Open-Source-Framework und entsprechende Tools bereit, die die Verwaltung des gesamten Lebenszyklus Ihrer containerisierten Anwendungen vereinfachen.
- Container vs. VMs: Container sind wesentlich leichter und schneller als herkömmliche virtuelle Maschinen (VMs). VMs virtualisieren die gesamte Hardware, während Container das Betriebssystem virtualisieren und den Kernel des Host-Betriebssystems gemeinsam nutzen.
- Diese Effizienz macht Docker ideal für die schnelle Bereitstellung und Skalierung.
Docker-Images: der Bauplan
Bevor Sie einen Container ausführen, benötigen Sie ein Docker Image. Ein Image ist ein schlankes, eigenständiges und ausführbares Paket, das alles enthält, was zum Ausführen einer Software benötigt wird – einschließlich Code, Laufzeitumgebung, Bibliotheken und Systemtools.
- Es dient als Bauplan oder Vorlage zum Erstellen von Containern.
- Images werden anhand von Anweisungen in einer Dockerfile erstellt und sind nach ihrer Erstellung unveränderlich.
Ihre erste Dockerfile erstellen
Eine Dockerfile ist eine einfache Textdatei, die alle Befehle enthält, die Docker zum Zusammenstellen eines Images verwendet. Sie ist mit einem Rezept für Ihren Container vergleichbar.
Hier sind einige häufig verwendete Anweisungen:
FROM: Gibt das Basis-Image an (z. B.python:3.9-slim).WORKDIR: Legt das Arbeitsverzeichnis innerhalb des Containers fest.COPY: Kopiert Dateien von Ihrem lokalen Rechner in das Image.RUN: Führt während des Image-Erstellungsprozesses Befehle aus (z. B. zum Installieren von Abhängigkeiten).CMD: Gibt den Standardbefehl an, der beim Start eines Containers ausgeführt wird.
Die Dockerfile in der Praxis (Python-Anwendung)
Erstellen wir eine einfache Python-Anwendung (app.py) und die zugehörige Dockerfile. Stellen Sie sich vor, dass es sich um ein kleines Inferenzskript für eine KI handelt.
app.py:
print("Hello from inside the container!")Image erstellen und ausführen
Sehen wir uns nun die Dockerfile für unsere app.py an:
FROM python:3.9-slim
WORKDIR /app
COPY app.py .
CMD ["python", "app.py"]So erstellen Sie das Image (führen Sie den Befehl in Ihrem Terminal im selben Verzeichnis aus):
docker build -t my-ai-app .(-tversieht das Image mit einem Tag,.steht für die Dockerfile im aktuellen Verzeichnis).
So führen Sie einen Container aus diesem Image aus:
docker run my-ai-app(Sie sollten „Hello from inside the container!“ sehen).
Warum Docker für AI SaaS?
Docker ist für AI-SaaS-Anwendungen äußerst wertvoll, da es spezifische Herausforderungen löst:
- Abhängigkeitsverwaltung: KI-Modelle benötigen häufig genau festgelegte Versionen von Bibliotheken (z. B. TensorFlow, PyTorch und CUDA-Treibern). Docker isoliert diese zuverlässig und verhindert Konflikte.
- Einheitliche Umgebungen: Docker stellt sicher, dass Ihr Code zur Modellinferenz in Entwicklung, Test und Produktion identisch ausgeführt wird, und beseitigt damit Probleme nach dem Muster „Auf meinem Rechner funktioniert es“.
- Skalierbarkeit: Sie können problemlos mehrere identische Container starten, um eine höhere Anzahl von Inferenzanfragen zu verarbeiten. Dadurch lässt sich Ihr KI-Dienst stark skalieren.
Persistente Daten mit Volumes
Standardmäßig gehen Daten, die innerhalb eines Containers gespeichert sind, verloren, wenn der Container entfernt wird. Für KI-Modelle und Konfigurationen benötigen Sie eine dauerhafte Speicherung.
Docker Volumes ermöglichen es Ihnen, Daten außerhalb des Dateisystems des Containers auf dem Host-Rechner zu speichern. Das ist besonders wichtig für:
- das Speichern trainierter Gewichte und Artefakte von KI-Modellen,
- das Speichern von Protokollen oder von Benutzern erzeugten Daten,
- das Teilen von Daten zwischen verschiedenen Containern.
So bleiben Ihre wertvollen Daten auch nach dem Lebensende des Containers erhalten.
Schnelltest: Docker-Grundlagen
Betrachten Sie den folgenden Ausschnitt einer Dockerfile:
FROM node:16-alpine
WORKDIR /app
COPY package*.json .
RUN npm install
COPY .
CMD ["npm", "start"]Welche Anweisung ist für das Herunterladen und Installieren der Node.js-Abhängigkeiten zuständig?
Zusammenfassung: Containerisiert und cloudbereit
Sie haben gelernt, wie Docker Ihre AI-SaaS-Anwendung in portable, einheitliche Container verpackt. Behandelt wurden:
- das Problem inkonsistenter Umgebungen und wie Container es lösen,
- die Bedeutung von Docker, Images und Containern,
- das Schreiben einer einfachen Dockerfile sowie das Erstellen und Ausführen von Containern,
- die wichtigsten Vorteile von Docker für AI SaaS, einschließlich Abhängigkeitsverwaltung und dauerhafter Datenspeicherung mit Volumes.
Dieses grundlegende Verständnis ist entscheidend, um Ihre AI-SaaS-Anwendung nahtlos in der Cloud bereitzustellen und zu verwalten.
Häufig gestellte Fragen
Ist die Lektion „Containerisierung mit Docker“ kostenlos?
Ja — der vollständige Text von „Containerisierung mit Docker“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI SaaS Builder-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI SaaS Builder-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Containerisierung mit Docker“?
Verpacken Sie Ihre Anwendung und ihre Abhängigkeiten in portable Container, um konsistente Deployments zu ermöglichen. Du übst AI SaaS Builder 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 AI SaaS Builder zu starten?
Keine Vorkenntnisse erforderlich. AI SaaS Builder 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 2 von 4.
Wie lange dauert die Lektion „Containerisierung mit Docker“?
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 AI SaaS Builder-Lektion Code schreiben und ausführen?
Ja. Jede AI SaaS Builder-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
- Grundlagen von Cloud-Plattformen
- Containerisierung mit Docker
- CI/CD für AI SaaS
- Infrastructure as Code für AI-SaaS