Was ist Docker?
Docker ist eine Software, mit der du Anwendungen in Containern verpackst und ausführst. Ein Container enthält alles, was die Anwendung braucht: Programmcode, Laufzeitumgebung, Bibliotheken, Konfiguration. Dieses Paket läuft auf jedem System, auf dem Docker installiert ist – und verhält sich dort überall gleich.
Der Kern heißt Docker Engine. Sie läuft im Hintergrund, verwaltet Container und Images und nimmt deine Befehle über die Kommandozeile an. Docker gibt es seit 2013, entwickelt wird es von Docker, Inc. auf Basis des offenen Moby-Projekts. Die Engine für Linux steht unter der Apache-2.0-Lizenz.
Der Satz „bei mir läuft es aber” ist damit erledigt. Weil das Paket seine Umgebung mitbringt, spielt es keine Rolle mehr, welche Bibliotheksversion auf dem Zielsystem liegt.
Warum braucht man Docker?
Drei Gründe, die in der Praxis den Unterschied machen:
- Alles läuft gleich. Entwicklung, Test und Produktivbetrieb nutzen dasselbe Image. Fehler, die nur auf einem System auftreten, verschwinden.
- Es geht schnell. Ein Container startet in Sekunden, weil er kein eigenes Betriebssystem hochfahren muss.
- Nichts vermüllt dein System. Du probierst eine Datenbank aus, löschst den Container – und dein Server ist wieder so sauber wie vorher.
Dazu kommt der praktische Punkt: Für fast jede verbreitete Software gibt es ein fertiges Image. Datenbank, Webserver, Automatisierungswerkzeug, Sprachmodell. Du lädst es und startest es, statt eine Installationsanleitung durchzuarbeiten.
Container oder virtuelle Maschine – was ist der Unterschied?
Beides trennt Anwendungen voneinander, aber auf verschiedenen Ebenen. Eine virtuelle Maschine bringt ein komplettes eigenes Betriebssystem mit. Ein Container teilt sich den Kern des darunterliegenden Systems und enthält nur die Anwendung samt Abhängigkeiten.
| Docker-Container | Virtuelle Maschine | |
|---|---|---|
| Betriebssystem | teilt den Kernel des Wirtssystems | eigenes vollständiges Betriebssystem |
| Startzeit | Sekunden | Minuten |
| Größe | wenige MB bis einige hundert MB | meist mehrere GB |
| Ressourcenbedarf | gering | deutlich höher |
| Trennung | auf Prozessebene | durch den Hypervisor, stärker getrennt |
| Typischer Einsatz | einzelne Dienste und Anwendungen | ganze Serverumgebungen |
Das ist kein Entweder-oder. In der Praxis läuft Docker sehr häufig innerhalb einer virtuellen Maschine: Du mietest einen virtuellen Server, installierst dort Docker und betreibst darin deine Container. So machen es die meisten kleinen und mittleren Projekte.
Image, Container, Volume: die Begriffe, die zählen
- Image – die unveränderliche Vorlage, aus der Container entstehen. Es ist ein reines Lesedateisystem und wird nie verändert.
- Container – eine laufende Instanz eines Images. Aus einem Image kannst du beliebig viele Container starten, alle gleichzeitig.
- Dockerfile – eine Textdatei mit den Schritten, aus denen dein eigenes Image gebaut wird.
- Volume – ein Speicherbereich, der den Container überlebt. Ohne Volume sind Datenbankinhalte nach dem Löschen des Containers weg.
- Netzwerk – Container in einem gemeinsamen Docker-Netzwerk erreichen sich über ihren Dienstnamen, nicht über IP-Adressen.
- Registry – der Ablageort für Images. Die bekannteste ist Docker Hub, es gibt sie auch bei GitHub, den Cloud-Anbietern oder auf deinem eigenen Server.
Der Merksatz: Image ist der Bauplan, Container ist das gebaute Haus, Volume ist der Keller, der beim Abriss stehen bleibt.
Die häufigste Verwechslung: Wenn du im Container eine Datei änderst, ändert sich das Image nicht. Deine Änderung landet in einer Zwischenschicht über dem Image – und ist beim nächsten Neubau des Containers verloren. Alles, was bleiben soll, gehört in ein Volume.
Was macht man mit Docker?
Fünf Fälle, die in der Praxis am häufigsten vorkommen:
- Datenbanken für die Entwicklung. PostgreSQL oder MySQL in einer bestimmten Version starten, ohne sie dauerhaft zu installieren.
- Webserver und Reverse Proxy. nginx oder Traefik als Container davor, dahinter deine Anwendungen. Zertifikate lassen sich automatisiert erneuern.
- Software selbst betreiben. Nextcloud, Automatisierungswerkzeuge, Wissensdatenbanken, Chat, Monitoring – vieles wird heute primär als Container ausgeliefert.
- Sprachmodelle lokal betreiben. Ollama und ähnliche Projekte laufen im Container, damit du Modelle auf eigener Hardware testen kannst.
- Gleiche Umgebung im Team. Alle starten dieselbe Datei und arbeiten auf identischer Grundlage.
Wie du Docker installierst – in Kurzform
Auf Windows und macOS nimmst du Docker Desktop. Es bringt die Engine, die Kommandozeile, Compose und eine Oberfläche zur Verwaltung von Containern, Images und Volumes mit. Du lädst es von der Docker-Website und installierst es wie ein normales Programm. Auf Windows setzt es WSL 2 voraus, das der Installationsvorgang bei Bedarf einrichtet. Auf Apple Silicon läuft es nativ.
Auf einem Linux-Server nimmst du die Engine ohne Oberfläche, direkt aus dem offiziellen Docker-Paketspeicher. Das ist der Weg, den Docker für den produktiven Betrieb empfiehlt, weil du Aktualisierungen danach über die normale Paketverwaltung bekommst. Ob alles läuft, prüfst du anschließend mit einem Testcontainer:
docker run hello-world
Ein Hinweis, der oft fehlt: Damit du nicht bei jedem Befehl sudo schreiben musst, kannst du deinen Benutzer in die Docker-Gruppe aufnehmen. Wer in dieser Gruppe ist, hat auf dem Server aber praktisch Administratorrechte. Nimm dort nur Benutzer auf, denen du das auch geben würdest.
Alle Befehle Schritt für Schritt – für Debian, Ubuntu und AlmaLinux, samt Absicherung – findest du in unserer Anleitung Docker auf VPS installieren.
Die wichtigsten Docker-Befehle
| Befehl | Was er macht |
|---|---|
docker run -d --name web -p 8080:80 nginx |
startet einen Container im Hintergrund und leitet Port 8080 auf 80 im Container |
docker ps |
zeigt laufende Container, mit -a auch gestoppte |
docker images |
listet die lokal vorhandenen Images |
docker pull postgres:18 |
lädt ein Image aus der Registry |
docker logs -f web |
zeigt die Ausgaben eines Containers laufend an |
docker exec -it web sh |
öffnet eine Eingabeaufforderung im laufenden Container |
docker stop web und docker rm web |
stoppt und entfernt einen Container |
docker build -t meinapp:1.0 . |
baut ein Image aus dem Dockerfile im aktuellen Ordner |
docker system prune -a |
räumt nicht genutzte Container, Images, Netzwerke und Zwischenspeicher auf |
Zu docker system prune -a: Der Befehl schafft auf einem vollen Server schnell Platz, entfernt aber alle Images, die aktuell von keinem Container benutzt werden. Schau vorher mit docker ps -a, was läuft.
Mehrere Container mit Docker Compose
Sobald mehr als ein Container zusammenspielt, wird die Kommandozeile unübersichtlich. Docker Compose löst das: Du beschreibst alle Dienste in einer Datei namens compose.yaml und startest sie gemeinsam.
services:
web:
image: nginx:stable-alpine
ports:
- "8080:80"
volumes:
- ./site:/usr/share/nginx/html:ro
restart: unless-stopped
db:
image: postgres:18-alpine
environment:
POSTGRES_DB: appdb
POSTGRES_USER: appuser
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- db-data:/var/lib/postgresql/data
restart: unless-stopped
volumes:
db-data:
Starten, prüfen, beenden:
docker compose up -d
docker compose ps
docker compose logs -f
docker compose down
Drei Dinge stehen in dieser Datei bewusst so:
- Das Passwort steht nicht im Klartext.
${DB_PASSWORD}liest den Wert aus einer.env-Datei daneben, die nicht in die Versionsverwaltung gehört. db-dataist ein benanntes Volume. Damit bleiben die Datenbankinhalte erhalten, wenn du den Container neu baust. Ohne diese Zeile sind sie beim nächstendocker compose downweg – der häufigste Anfängerfehler.restart: unless-stoppedstartet den Container nach einem Neustart des Servers automatisch wieder.
Der Befehl heißt docker compose mit Leerzeichen. Das alte docker-compose mit Bindestrich war Version 1 und wird nicht mehr gepflegt. Wenn du in einer Anleitung noch die Schreibweise mit Bindestrich siehst, ist sie veraltet. Auch der Schlüssel version: am Dateianfang wird nicht mehr gebraucht.
Für die Entwicklung lohnt sich docker compose watch: Docker überträgt geänderte Dateien direkt in den laufenden Container und baut nur neu, wenn sich Abhängigkeiten geändert haben.
Was ist 2026 neu bei Docker?
Docker hat sich in den letzten zwei Jahren deutlich verändert. Die relevanten Punkte, Stand August 2026:
- Docker Engine 29 ist die aktuelle Hauptversion (aktuellste Ausgabe 29.7.1 vom Juli 2026). Der größte Umbau darin: Bei Neuinstallationen ist der containerd-Image-Store der Standard. Gleichzeitig gelten alle Engine-Versionen älter als 25 als abgekündigt, die Mindest-API-Version liegt bei 1.44. Wenn du ältere Werkzeuge gegen die Docker-Schnittstelle nutzt, prüfe das vor einer Aktualisierung.
- Docker Model Runner ist seit September 2025 allgemein verfügbar und quelloffen. Mit
docker model pullunddocker model runbetreibst du Sprachmodelle lokal, samt einer zur OpenAI-Schnittstelle kompatiblen Anbindung. Unterstützt werden NVIDIA-Grafikkarten und Apple Silicon, seit Oktober 2025 zusätzlich AMD und Intel über Vulkan. - MCP Catalog und MCP Toolkit stellen geprüfte Container für das Model Context Protocol bereit. Damit lassen sich Werkzeuge für KI-Assistenten in Containern betreiben, statt sie direkt auf dem Rechner zu installieren.
- Docker Hardened Images sind besonders schlanke Basis-Images mit reduzierter Angriffsfläche für den produktiven Einsatz.
- Kleinere Änderungen mit Praxisfolgen:
docker sbomist abgekündigt, der Nachfolger heißtdocker scout sbom. Die Scout-Ansicht in Docker Desktop wurde entfernt.
Ist Docker kostenpflichtig?
Das hängt davon ab, welchen Teil du nutzt.
Docker Engine auf Linux ist quelloffen und kostenlos – auch im gewerblichen Einsatz und auf deinem eigenen Server. Wenn du Container auf einem virtuellen Server betreibst, fällt für Docker selbst nichts an.
Docker Desktop ist nur unter Bedingungen kostenlos: für private Nutzung, Ausbildung, quelloffene Projekte und für Unternehmen mit weniger als 250 Beschäftigten und unter 10 Millionen US-Dollar Jahresumsatz. Wer darüber liegt, braucht eine bezahlte Subskription – gezählt werden alle Beschäftigten, nicht nur die Docker-Nutzer. Behörden und öffentliche Einrichtungen brauchen unabhängig von ihrer Größe einen bezahlten Plan.
Docker Hub ist mit Einschränkungen kostenlos nutzbar. Öffentliche Repositories sind unbegrenzt. Für das Herunterladen von Images gilt aber ein Stundenlimit: ohne Anmeldung ein niedriges pro IP-Adresse, mit kostenlosem Konto ein höheres, in den bezahlten Plänen keines. Diese Grenzen sind neu – bis 2025 konntest du unbegrenzt und ohne Konto laden.
Praktische Folge: Wenn du auf einem Server automatisiert baust und Images abrufst, melde dich in deinem Bauprozess bei Docker Hub an oder spiegle die Images in eine eigene Registry. Sonst läufst du gegen das Limit und bekommst Fehler, deren Ursache man nicht sofort erkennt. Die genauen Werte ändert Docker gelegentlich, schau vor der Planung in die aktuelle Docker-Dokumentation.
Docker, Podman, Kubernetes und Docker Swarm
Diese vier Namen werden gern verwechselt.
Podman macht dasselbe wie Docker, arbeitet aber ohne dauerhaft laufenden Hintergrunddienst und standardmäßig ohne Administratorrechte. Die Befehle sind fast identisch, oft genügt es, docker durch podman zu ersetzen. In Red-Hat-Umgebungen ist Podman verbreitet, ansonsten ist Docker der Standard mit der größeren Anleitungsbasis.
Kubernetes ist keine Alternative zu Docker, sondern die Ebene darüber. Es verteilt Container über viele Server, ersetzt ausgefallene Instanzen und skaliert automatisch. Dafür bringt es erheblichen Verwaltungsaufwand mit. Für einen Server oder eine überschaubare Anzahl von Anwendungen ist es meist die falsche Wahl.
Docker Swarm ist Dockers eigene, deutlich einfachere Lösung für den Betrieb über mehrere Server. Es wird weiter gepflegt, ist mit wenigen Befehlen aufgesetzt und für viele kleine Aufbauten ausreichend – bekommt aber weniger Aufmerksamkeit als Kubernetes.
Die praktische Empfehlung: Starte mit Docker Compose auf einem Server. Wechsle erst dann auf Swarm oder Kubernetes, wenn du wirklich mehrere Server brauchst.
Docker sicher betreiben: sechs Empfehlungen
- Versionen festschreiben.
postgres:18-alpinestattpostgres:latest. Sonst holst du beim nächsten Bauen ungewollt eine neue Hauptversion. - Nicht als root im Container laufen. Setze im Dockerfile einen eigenen Benutzer per
USER. - Schlanke Basis-Images verwenden. Alpine- oder Slim-Varianten enthalten weniger Software und damit weniger mögliche Schwachstellen.
- Zugangsdaten nicht ins Image legen. Nutze Umgebungsvariablen, eine
.env-Datei oder die Secrets-Funktion von Compose. - Nur öffnen, was nötig ist. Eine Datenbank braucht in der Regel keine nach außen freigegebene Portzuordnung – die anderen Container erreichen sie über das interne Docker-Netzwerk.
- Regelmäßig neu bauen. Sicherheitsaktualisierungen kommen über die Basis-Images. Ein Image, das seit einem Jahr nicht neu gebaut wurde, ist ein altes Image.
Wo du jetzt weitermachst
Zum Ausprobieren reicht Docker Desktop auf deinem Rechner. Für den Dauerbetrieb brauchst du einen Server, auf dem du selbst Software installieren darfst. Auf klassischem Webhosting geht das nicht, weil dort die Rechte auf Systemebene fehlen. Der passende Weg ist ein virtueller Server mit vollen Root-Rechten.
Wenn dir unterwegs etwas unklar ist, hilft dir unser Team per Telefon oder E-Mail weiter.
Häufige Fragen zu Docker
Was ist Docker einfach erklärt?
Docker packt eine Anwendung samt allem, was sie zum Laufen braucht, in ein Paket – ein Image. Aus diesem Image startest du Container, die auf jedem System mit Docker gleich funktionieren. Du installierst also nicht mehr Software, sondern startest fertige Pakete.
Brauche ich Docker als Einsteiger überhaupt?
Wenn du eine einzelne Website mit einem verbreiteten System betreibst, reicht klassisches Webhosting. Sobald du mehrere Dienste kombinierst, bestimmte Versionen brauchst oder Software selbst betreiben willst, für die es nur Container gibt, spart dir Docker viel Zeit.
Läuft Docker auf Webhosting?
Nein. Docker braucht Rechte auf Systemebene, die auf geteiltem Webhosting nicht vorgesehen sind. Dafür brauchst du einen virtuellen Server mit Root-Zugriff.
Wie viel Arbeitsspeicher braucht Docker?
Docker selbst kaum – der Bedarf kommt von deinen Containern. Für einen kleinen Aufbau aus Webserver und Datenbank genügen in der Regel 2 GB. Betreibst du mehrere Anwendungen oder ein Sprachmodell, plane deutlich mehr ein.
Sind meine Daten weg, wenn ich einen Container lösche?
Alles, was nur im Container liegt, ja. Deshalb speicherst du alles, was erhalten bleiben soll, in einem Volume. Dann übersteht es das Löschen und Neubauen des Containers.
Wie halte ich meine Container aktuell?
Mit Compose in drei Befehlen: docker compose pull holt die neuen Images, docker compose up -d startet die Dienste neu, docker image prune räumt die alten Images weg. Sichere vorher deine Volumes.
Was ist der Unterschied zwischen Docker und Docker Desktop?
Docker Engine ist der Kern, der Container ausführt – auf Linux kostenlos und quelloffen. Docker Desktop ist das Paket für Windows und macOS mit Oberfläche, für größere Unternehmen kostenpflichtig. Auf einem Server nutzt du die Engine, nicht Desktop.
News
Berita Teknologi
Berita Olahraga
Sports news
sports
Motivation
football prediction
technology
Berita Technologi
Berita Terkini
Tempat Wisata
News Flash
Football
Gaming
Game News
Gamers
Jasa Artikel
Jasa Backlink
Agen234
Agen234
Agen234
Resep
Cek Ongkir Cargo
Download Film