Was ist Docker? Container einfach erklärt für Nicht-Entwickler
Docker ist ein Werkzeug, das eine App zusammen mit allem verpackt, was sie zum Laufen braucht – die richtige Sprachversion, Bibliotheken, Systemwerkzeuge und Einstellungen – in eine standardisierte Einheit namens Container. Ein Container läuft auf dem Laptop eines Entwicklers, einem Testserver oder einem Cloud-Host auf die gleiche Weise. Damit ist das klassische Problem „Aber auf meinem Rechner hat es funktioniert“ beendet. Das Rezept zum Bauen eines Containers ist eine kurze Textdatei namens Dockerfile.
Warum Docker wichtig ist, wenn Sie mit KI bauen
Wenn Ihre App ein Backend hat – eine API in Python, Node, C# oder Java –, muss sie dort laufen, wo genau die richtige Software installiert ist. Docker ist der gängigste Weg, das wiederholbar zu machen.
- Backends ausliefern. Viele Hoster, darunter Mythex, deployen Backends, indem sie aus einem Dockerfile einen Container bauen. In Mythex erhalten Sie beim Anfordern eines „C# Web API“ oder eines „Java-Backends“ die App plus ein Dockerfile, und Veröffentlichen baut das Image und deployt es (API-Backends).
- Eine Plattform verlassen. Wenn Sie eine KI-gebaute App exportieren, macht ein Dockerfile es viel leichter, sie auf einem anderen Host zu betreiben. Siehe wie Sie eine KI-gebaute App exportieren und selbst hosten.
- Mit Entwicklern zusammenarbeiten. Ein Entwickler, der Ihrem Projekt beitritt, kann die ganze App mit ein oder zwei Befehlen starten, statt einen Tag mit Installationen zu verbringen.
Ein Alltagsvergleich: Schiffscontainer
Vor den standardisierten Schiffscontainern wurde Fracht Stück für Stück verladen – Säcke, Fässer, Kisten –, und jeder Hafen ging anders damit um. Der standardisierte Stahlcontainer änderte das: einmal packen, und jedes Schiff, jeder Kran, jeder Zug oder LKW kann ihn bewegen, ohne sich um den Inhalt zu kümmern.
Docker tut dasselbe für Software:
- Das Dockerfile ist die Packliste und die Anleitung.
- Das Image ist der versiegelte, gepackte Container.
- Ein laufender Container ist diese Kiste, die auf einem Schiff arbeitet – hier auf einem Server.
- Docker Engine ist Kran und Schiff zugleich: die Software auf einem Server, die weiß, wie man jeden Container ausführt.
So funktioniert Docker
| Bestandteil | Was es ist |
|---|---|
| Dockerfile | Eine Textdatei mit schrittweisen Anweisungen zum Bauen des Images. |
| Image | Ein schreibgeschütztes Paket: Basis des Betriebssystems, Laufzeitumgebung, Bibliotheken und Ihr Code. |
| Container | Eine laufende Instanz eines Images, isoliert von anderen Apps auf derselben Maschine. |
| Registry | Ein Ort, an dem Images gespeichert und geteilt werden, etwa Docker Hub oder die Registry eines Cloud-Anbieters. |
| Docker Engine | Der Hintergrunddienst, der Images baut und Container ausführt. Kostenlos und quelloffen. |
| Docker Desktop | Eine App für Mac, Windows und Linux, die die Engine mit einer grafischen Oberfläche bündelt. |
Container gegenüber virtuellen Maschinen: Eine virtuelle Maschine gibt vor, ein ganzer eigenständiger Computer mit eigenem Betriebssystem zu sein. Sie ist schwer und startet langsam. Ein Container teilt sich den Betriebssystem-Kernel des Hosts und isoliert nur die App und ihre Dateien. Er startet deshalb typischerweise in Sekunden und braucht viel weniger Speicher. Viele Container können nebeneinander auf einem Server laufen.
Ein praktisches Beispiel: eine kleine Python-API
Angenommen, Ihr KI-Builder hat ein Python-FastAPI-Backend für eine Buchungs-App erstellt. Das Dockerfile könnte so aussehen:
FROM python:3.12-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"]
Zeile für Zeile:
| Zeile | Was sie tut |
|---|---|
FROM python:3.12-slim | Startet von einem offiziellen Image, das bereits Python 3.12 enthält. |
WORKDIR /app | Arbeitet im Ordner /app im Container. |
COPY requirements.txt . und RUN pip install ... | Kopiert die Liste der Bibliotheken und installiert sie. |
COPY . . | Kopiert den eigenen Code der App hinein. |
EXPOSE 8000 | Vermerkt, dass die App auf Port 8000 lauscht. |
CMD [...] | Der Befehl, der den Webserver startet, wenn der Container läuft. |
Einfach gesagt: „Starte mit Python 3.12. Installiere die Bibliotheken aus requirements.txt. Kopiere den Code hinein. Starte den Webserver auf Port 8000.“
Ein Entwickler (oder eine Hosting-Plattform) führt dann zwei Befehle aus:
docker build -t booking-api .
docker run -p 8000:8000 booking-api
Der erste Befehl baut das Image und nennt es booking-api. Der zweite startet einen Container und verbindet Port 8000 auf der Maschine mit Port 8000 im Container. Die API läuft nun – auf jedem Server mit Docker genauso wie auf dem Ihren.
Beachten Sie, was nicht im Image steckt: Passwörter und API-Schlüssel. Die werden beim Start des Containers übergeben, als Umgebungsvariablen. So kann dasselbe Image in Test und Produktion mit unterschiedlichen Einstellungen laufen.
Wichtige Begriffe
| Begriff | Bedeutung |
|---|---|
| Container | Ein isoliertes, laufendes Paket aus einer App und ihren Abhängigkeiten. |
| Image | Die Vorlage, aus der ein Container gestartet wird. |
| Basis-Image | Der Ausgangspunkt in der FROM-Zeile eines Dockerfiles, etwa python:3.12-slim oder node:22. |
| Layer | Jeder Schritt im Dockerfile fügt eine gecachte Schicht hinzu, was Neubauten beschleunigt. |
| Port-Zuordnung | Einen Port des Hosts mit einem Port im Container verbinden. |
| Volume | Speicher, der überlebt, wenn ein Container ersetzt wird. Container selbst sind Wegwerfware. |
| Docker Compose | Eine Datei, die mehrere Container beschreibt, die zusammen laufen, etwa eine API plus eine Datenbank. |
| Kubernetes | Ein System, um viele Container auf vielen Servern zu betreiben. Die meisten kleinen Apps brauchen es nicht. |
Häufige Missverständnisse
- „Docker ist eine virtuelle Maschine.“ Es ist leichter: Container teilen sich den Kernel des Hosts.
- „Daten im Container sind sicher gespeichert.“ Container sind dafür gedacht, weggeworfen und ersetzt zu werden. Alles, was bleiben muss – Nutzerdaten, Uploads –, gehört in eine Datenbank, in Dateispeicher oder in ein Volume.
- „Geheimnisse ins Dockerfile zu schreiben ist in Ordnung, weil es privat ist.“ Images werden geteilt und in Registries hochgeladen. Übergeben Sie Geheimnisse stattdessen zur Laufzeit.
- „Docker macht eine App sicher.“ Isolation hilft, aber ein Container mit veralteter Software und schwachen Einstellungen bleibt angreifbar.
- „Jede App braucht Docker.“ Eine statische Seite oder ein einfaches Frontend wird meist als reine Dateien gehostet, ganz ohne Container.
- „Docker Desktop ist für alle kostenlos.“ Die Engine ist kostenlos; Docker Desktop erfordert laut den Bedingungen von Docker für größere Unternehmen ein kostenpflichtiges Abo.
Was Sie Ihren KI-Builder fragen sollten
- „Braucht diese App ein Dockerfile? Falls ja, erkläre jede Zeile in einfacher Sprache.“
- „Verwende ein kleines, offizielles Basis-Image und fixiere die Sprachversion.“
- „Halte Geheimnisse aus dem Image heraus. Lies sie zur Laufzeit aus Umgebungsvariablen.“
- „Stelle sicher, dass Uploads und Daten in der Datenbank oder im Dateispeicher liegen, nicht im Container.“
- „Füge eine Docker-Compose-Datei hinzu, damit ein Entwickler Frontend, API und Datenbank lokal mit einem Befehl starten kann.“
- „Füge einen Health-Check-Endpunkt hinzu, damit der Host erkennen kann, ob die API läuft.“
Docker in Mythex
Zum Nutzen von Mythex müssen Sie Docker nicht installieren oder betreiben. Ihr Projekt läuft in einer privaten Cloud-Sandbox. Wenn Sie ein Backend anfordern, das einen Container braucht – zum Beispiel C#, Java oder einen eigenen Node- oder Python-Dienst –, schreibt Mythex die App plus ein Dockerfile, zeigt sie in der Sandbox in der Vorschau und deployt sie beim Veröffentlichen, ohne dass Sie Hosting einrichten müssen (so wird die Technik gewählt). Im Pro-Tarif können Sie das Projekt exportieren oder mit GitHub synchronisieren und das Dockerfile mitnehmen. Wie Backend und Frontend zusammenpassen, erklärt Frontend vs. Backend.
Fragen
Was ist Docker einfach gesagt?
Docker ist ein Werkzeug, das eine App zusammen mit allem verpackt, was sie zum Laufen braucht – Laufzeitumgebung, Bibliotheken und Einstellungen – in eine standardisierte Einheit namens Container. Der Container läuft auf einem Laptop, einem Testserver oder einem Cloud-Host auf die gleiche Weise.
Was ist der Unterschied zwischen einem Docker-Image und einem Container?
Ein Image ist die verpackte, schreibgeschützte Vorlage: die App und ihre Abhängigkeiten, gebaut aus einem Dockerfile. Ein Container ist eine laufende Kopie dieses Images. Aus einem Image lassen sich viele Container starten.
Ist Docker eine virtuelle Maschine?
Nein. Eine virtuelle Maschine emuliert einen ganzen Computer mit eigenem Betriebssystem. Container teilen sich den Betriebssystem-Kernel des Host-Rechners und isolieren nur die App, deshalb starten sie schneller und brauchen weniger Speicher.
Ist Docker kostenlos?
Docker Engine, der Kern, der Container ausführt, ist kostenlos und quelloffen. Laut den Bedingungen von Docker Stand September 2026 ist Docker Desktop kostenlos für nicht-kommerzielle Open-Source-Projekte und für Unternehmen mit weniger als 250 Beschäftigten und weniger als 10 Millionen US-Dollar Jahresumsatz; größere Unternehmen brauchen ein kostenpflichtiges Abo.
Muss ich Docker lernen, um eine App mit KI zu bauen?
Meist nicht. Viele KI-Builder kümmern sich für Sie um Container. Hilfreich ist es zu wissen, was ein Dockerfile ist, damit Sie verstehen, wie ein Backend verpackt wird, und damit Sie die App bei Bedarf woanders betreiben können, wenn Sie sie exportieren.