Einführung in Docker & Container
Docker ist ein Werkzeug, mit dem du Anwendungen ganz einfach in sogenannten Containern verpacken und überall laufen lassen kannst – egal ob auf deinem Notebook, einem Server oder in der Cloud.
Ein Container enthält alles, was eine Anwendung benötigt: Quellcode, Bibliotheken, Laufzeitumgebung und Konfigurationen. Dadurch wird das „Es funktioniert nur bei mir!“-Problem gelöst.
Was ist ein Container?
Abschnitt betitelt „Was ist ein Container?“Ein Container ist eine abgeschlossene Umgebung für eine Anwendung:
- Nutzt das Betriebssystem des Hosts (also kein schwergewichtiges, separates Gast-OS wie bei VMs)
- Startet sehr schnell (nicht in Minuten, sondern meistens in Sekunden)
- Mehrere Container können nebeneinander laufen, ohne sich gegenseitig zu stören
Wofür wird Docker genutzt?
Abschnitt betitelt „Wofür wird Docker genutzt?“- Entwicklung und Testen von Apps ohne „Setup-Chaos“
- Einfache Weitergabe von Anwendungen (“Build once, run anywhere”)
- Automatisiertes Deployment (CI/CD)
- Isoliertes Laufenlassen verschiedener Apps/Versionen auf demselben System
Zentrale Begriffe
Abschnitt betitelt „Zentrale Begriffe“- Image
Vorlage („Schnappschuss“) für einen Container. Enthält alles für die App. - Container
Ausführbare Einheit, die zur Laufzeit aus einem Image erzeugt wird. - DockerHub
Online-Plattform für fertige Images (wie npm, aber für Container).
Funktionsweise
Abschnitt betitelt „Funktionsweise“- Du schreibst ein kurzes Rezept namens
Dockerfilefür deine App. - Docker baut daraus ein Image (beim ersten Mal oder bei Änderungen).
- Du startest einen Container aus deinem Image.
- Das läuft überall gleich – ob bei dir oder später auf einem Cloud-Server.
Docker besteht aus zwei Teilen: Client und Server (Daemon).
Mit dem Docker-Client arbeitest du, z.B. über Befehle im Terminal wie docker run … Der Docker-Daemon ist das Programm im Hintergrund, das die eigentliche Arbeit erledigt: Container bauen, starten, löschen usw. Der Client schickt also Befehle an den Daemon, der sie ausführt. Das geht entweder auf demselben Computer oder auch über das Netzwerk, wenn der Daemon auf einem anderen Rechner läuft.
Beide „reden“ über eine spezielle Programmierschnittstelle (REST API) miteinander.
Auch Docker Compose ist so ein Client: Damit startest und steuerst du mehrere Container auf einmal.
