Was ist Docker und wofür wird es verwendet?

Docker verpackt Software in sogenannte Container, die überall gleich laufen. Wir erklären leicht verständlich, was Docker ist, wie es funktioniert und wofür es in der Praxis eingesetzt wird.

Teilen

Wer sich mit moderner Softwareentwicklung beschäftigt, stößt früher oder später auf den Begriff Docker. Die Technologie hat die Art und Weise, wie Anwendungen entwickelt, getestet und bereitgestellt werden, grundlegend verändert. Doch was genau ist Docker eigentlich, und warum sprechen so viele Fachleute davon? In diesem Ratgeber erklären wir verständlich, was Docker ist, wie das Prinzip der Container funktioniert und wofür Docker in der Praxis verwendet wird.

Docker einfach erklärt

Docker ist eine Software, mit der sich Anwendungen in sogenannte Container verpacken lassen. Ein Container enthält nicht nur das Programm selbst, sondern auch alles, was es zum Laufen braucht: benötigte Bibliotheken, Konfigurationsdateien und Abhängigkeiten. Dadurch läuft die Anwendung auf jedem Computer, auf dem Docker installiert ist, immer auf die gleiche Weise – unabhängig davon, ob es sich um den Laptop eines Entwicklers, einen Testserver oder einen Cloud-Dienst handelt.

Das löst ein klassisches Problem der Softwareentwicklung, das oft mit dem Satz "Bei mir läuft es doch" beschrieben wird. Häufig funktioniert ein Programm auf einem Rechner einwandfrei, auf einem anderen aber nicht, weil dort eine andere Umgebung herrscht. Docker sorgt dafür, dass die Umgebung mitgeliefert wird und überall identisch ist.

Was ist ein Container?

Ein Container ist eine abgeschlossene Einheit, in der eine Anwendung mitsamt ihrer Umgebung läuft. Man kann sich das wie eine standardisierte Transportkiste vorstellen: Egal, was sich darin befindet, die Kiste hat immer die gleiche Form und lässt sich überall gleich handhaben. Genau dieses Bild gab Docker seinen Namen, denn Docker bezieht sich auf das Verladen von Containern in der Schifffahrt.

Container teilen sich den Kern des Betriebssystems des Wirtsrechners, bleiben aber voneinander getrennt. Mehrere Container können also gleichzeitig auf einem System laufen, ohne sich gegenseitig zu stören.

Container und virtuelle Maschinen im Vergleich

Häufig wird Docker mit virtuellen Maschinen verglichen, da beide Technologien Anwendungen voneinander abschotten. Der Unterschied liegt im Aufbau:

  • Virtuelle Maschinen bilden einen kompletten Computer inklusive eigenem Betriebssystem nach. Das ist sehr flexibel, kostet aber viel Speicher und Rechenleistung.
  • Container nutzen das Betriebssystem des Wirtsrechners mit und enthalten nur das, was die jeweilige Anwendung wirklich benötigt. Dadurch sind sie deutlich leichter, starten schneller und verbrauchen weniger Ressourcen.

Dieser geringere Ressourcenbedarf ist einer der Hauptgründe, warum Container in vielen Bereichen die klassischen virtuellen Maschinen ergänzen oder ersetzen.

Wie funktioniert Docker?

Um zu verstehen, wie Docker arbeitet, sind drei zentrale Begriffe hilfreich.

Images

Ein Docker-Image ist eine Art Bauplan oder Vorlage für einen Container. Es beschreibt, welche Anwendung enthalten ist und welche Bestandteile dazugehören. Aus einem Image lassen sich beliebig viele identische Container erzeugen.

Container

Wird ein Image gestartet, entsteht daraus ein laufender Container. Man kann sich das Image als Rezept und den Container als das fertig gekochte Gericht vorstellen. Aus einem Rezept lassen sich viele gleiche Gerichte zubereiten.

Dockerfile und Registry

Ein Dockerfile ist eine Textdatei mit Anweisungen, aus denen ein Image gebaut wird. In einer Registry, etwa Docker Hub, werden fertige Images gespeichert und können von dort heruntergeladen oder geteilt werden. So lassen sich häufig genutzte Programme mit wenigen Befehlen einsetzen.

Wofür wird Docker verwendet?

Docker kommt heute in vielen Bereichen der IT zum Einsatz. Zu den wichtigsten Anwendungsfeldern gehören:

  • Softwareentwicklung: Entwickler können auf ihrem Rechner schnell eine einheitliche Arbeitsumgebung aufbauen, die exakt der späteren Produktivumgebung entspricht.
  • Bereitstellung von Anwendungen: Programme lassen sich zuverlässig und reproduzierbar auf Servern oder in der Cloud ausrollen.
  • Microservices: Große Anwendungen werden in kleine, unabhängige Dienste aufgeteilt, die jeweils in eigenen Containern laufen.
  • Testumgebungen: Container lassen sich schnell erstellen und wieder löschen, was ideal für Tests ist.
  • Skalierung: Bei hoher Last können einfach weitere Container gestartet werden, um die Nachfrage zu bewältigen.

Welche Vorteile bietet Docker?

Der Erfolg von Docker beruht auf mehreren handfesten Vorteilen. Anwendungen laufen dank der mitgelieferten Umgebung überall gleich, was Fehlerquellen reduziert. Container starten in Sekundenschnelle und verbrauchen wenig Ressourcen. Außerdem lassen sich Anwendungen leicht weitergeben, da alles Nötige im Image enthalten ist. Diese Eigenschaften machen Docker besonders für Teams attraktiv, die schnell und zuverlässig arbeiten möchten.

Gibt es auch Nachteile?

So nützlich Docker ist, es gibt auch Punkte zu beachten. Der Umgang mit Containern erfordert Einarbeitung, und das Konzept ist für Einsteiger zunächst ungewohnt. Bei sehr vielen Containern wird zudem eine zusätzliche Verwaltung nötig, für die spezielle Werkzeuge eingesetzt werden. Auch das Thema Sicherheit verlangt Aufmerksamkeit, da Container das Betriebssystem mit dem Wirtsrechner teilen.

Fazit

Docker hat sich zu einem festen Bestandteil der modernen IT entwickelt. Die Technologie verpackt Anwendungen samt ihrer Umgebung in handliche Container, die überall gleich laufen. Dadurch werden Entwicklung, Test und Bereitstellung von Software einfacher, schneller und zuverlässiger. Wer Software professionell entwickelt oder betreibt, kommt an Docker heute kaum noch vorbei. Trotz einer gewissen Einarbeitungszeit überwiegen die Vorteile in den meisten Fällen deutlich.

Mehr zum Thema findest du in unserer Übersicht: Cloud & DevOps: Alle Artikel im Überblick.

Verwandte Artikel