Name des Begriffes: Docker
Beschreibungen des Begriffes:

Docker

Docker ist eine Softwareplattform zur Ausführung von Anwendungen in sogenannten Containern. Ein Container bündelt eine Anwendung mit ihren benötigten Bibliotheken und Einstellungen, damit sie in unterschiedlichen Umgebungen möglichst gleich funktioniert. Im digitalen Alltag wird Docker vor allem in Entwicklung, Testing, Deployment und Serverbetrieb eingesetzt.

Definition

Docker bezeichnet eine etablierte Container-Plattform, mit der Software in standardisierten, voneinander isolierten Paketen bereitgestellt werden kann. Diese Pakete heißen Container. Anders als eine klassische virtuelle Maschine enthält ein Container in der Regel kein vollständiges eigenes Betriebssystem, sondern nutzt den Kernel des Host-Systems mit. Dadurch lassen sich Anwendungen oft ressourcenschonender starten und betreiben.

Im technischen Umfeld steht Docker meist für mehrere zusammengehörige Komponenten. Dazu gehören vor allem die Laufzeitumgebung zum Starten von Containern, Werkzeuge zum Erstellen von Container-Images und Mechanismen zum Verteilen dieser Images. Ein Image ist dabei eine unveränderliche Vorlage, aus der ein Container gestartet wird.

Technischer Hintergrund

Docker nutzt Betriebssystemfunktionen zur Isolation von Prozessen, Dateisystemen, Netzwerken und Ressourcen. Container laufen deshalb getrennt voneinander, obwohl sie sich denselben Betriebssystemkern teilen. Diese Form der Isolation wird oft als Betriebssystem-Level-Virtualisierung bezeichnet.

Die technische Grundlage besteht vereinfacht aus drei Elementen: Images, Container und der Docker Engine. Ein Image enthält die Anwendungsdateien, Abhängigkeiten und Startanweisungen. Die Docker Engine ist die Software, die diese Images verwaltet und Container daraus startet. Ein laufender Container ist die aktive Instanz eines Images.

Für die Erstellung von Images werden meist definierte Build-Anweisungen verwendet. Dadurch kann eine Anwendung reproduzierbar gebaut werden. Das ist besonders wichtig, wenn Software in Entwicklung, Test und Produktion mit identischen Voraussetzungen laufen soll. Zusätzlich lassen sich Container über Netzwerke miteinander verbinden, etwa wenn eine Webanwendung mit einer Datenbank kommuniziert.

Weil Container den Kernel des Host-Systems teilen, unterscheiden sie sich grundlegend von vollständiger Hardware-Virtualisierung. Dieser Unterschied erklärt, warum Container häufig schneller starten und weniger Speicher benötigen als virtuelle Maschinen. Die gemeinsame Kernel-Nutzung bedeutet aber auch, dass Container-Isolation und Sicherheitskonzepte sorgfältig umgesetzt werden müssen.

Praxisbezug

Docker ist in der Webentwicklung und im IT-Betrieb besonders relevant, weil sich Anwendungen damit konsistent verpacken und bereitstellen lassen. Entwicklungsteams können lokale Umgebungen vereinheitlichen, etwa für Webserver, Datenbanken, Programmiersprachen und Hintergrunddienste. Das reduziert typische Unterschiede zwischen Arbeitsplatzrechner, Testsystem und Produktivserver.

Im Hosting- und Serverkontext wird Docker genutzt, um Dienste getrennt voneinander auszuführen und einfacher zu aktualisieren. Auch Continuous Integration und Continuous Deployment, also automatisierte Build- und Auslieferungsprozesse, profitieren von standardisierten Container-Umgebungen. In API-Projekten, Microservice-Architekturen und modernen Cloud-Setups ist Docker deshalb weit verbreitet.

Für Agenturen und Unternehmen ist Docker vor allem dann nützlich, wenn Anwendungen reproduzierbar installiert, skaliert oder migriert werden sollen. Eine Software lässt sich so häufig einfacher von einem lokalen System auf einen Server oder in eine Cloud-Umgebung übertragen, sofern die Zielplattform Container unterstützt.

In der Praxis erleichtert Docker vor allem die Standardisierung technischer Umgebungen. Der eigentliche Nutzen liegt weniger im Container selbst als in der besseren Nachvollziehbarkeit und Automatisierung von Entwicklungs- und Betriebsprozessen.

Abgrenzung und typische Missverständnisse

Docker wird oft mit virtuellen Maschinen gleichgesetzt, ist aber nicht dasselbe. Virtuelle Maschinen emulieren ein vollständiges System mit eigenem Betriebssystem. Docker-Container sind dagegen in der Regel leichtergewichtig und teilen sich den Kernel des Host-Systems.

Ein weiteres Missverständnis besteht darin, Docker mit Containern allgemein gleichzusetzen. Docker ist eine konkrete Plattform und Werkzeugfamilie, nicht der Oberbegriff für jede Container-Technologie. Container als Konzept können auch mit anderen Laufzeitumgebungen und Standards umgesetzt werden.

Außerdem ersetzt Docker nicht automatisch gutes Systemdesign. Container vereinfachen Verpackung und Bereitstellung, lösen aber weder Sicherheitsprobleme noch Architekturfehler von selbst. Auch Themen wie Monitoring, Orchestrierung, Persistenz von Daten und Netzwerkregeln bleiben wichtig.

Varianten und verwandte Begriffe

Docker Engine

Die Docker Engine ist die zentrale Laufzeitumgebung, mit der Images verwaltet und Container gestartet werden.

Docker Image

Ein Docker Image ist eine schreibgeschützte Vorlage mit Anwendung, Bibliotheken und Konfigurationen.

Docker Container

Ein Docker Container ist die laufende Instanz eines Images. Er führt die definierte Anwendung in isolierter Form aus.

Docker Desktop

Docker Desktop ist eine Variante für lokale Entwicklungsumgebungen, vor allem auf Windows und macOS. Sie bündelt Werkzeuge, um Container komfortabel auf Arbeitsplatzsystemen zu nutzen.

Häufige Fragen

Ist Docker ein Betriebssystem?

Nein. Docker ist eine Plattform zur Ausführung und Verwaltung von Containern, kein eigenes Betriebssystem.

Wofür wird Docker verwendet?

Docker wird genutzt, um Anwendungen samt Abhängigkeiten standardisiert zu paketieren, lokal zu testen und auf Servern oder in Cloud-Umgebungen bereitzustellen.

Was ist der Unterschied zwischen Image und Container?

Ein Image ist die Vorlage. Ein Container ist die laufende Instanz dieser Vorlage.

Ersetzt Docker virtuelle Maschinen vollständig?

Nein. Beide Ansätze haben unterschiedliche Stärken. Container sind meist leichtergewichtig, virtuelle Maschinen bieten dafür eine stärkere Trennung vollständiger Systeme.

Ist Docker nur für Entwickler relevant?

Nein. Auch Systemadministration, DevOps, Hosting, Testing und moderne Deployment-Prozesse arbeiten häufig mit Docker.

Typ des Begriffes: definition
Sprache des Begriffes (2 Zeichen ISO Code): de
Zurück