Was ist Docker? Container einfach erklärt

Docker verpackt eine Anwendung samt allen Abhängigkeiten in einen isolierten, leichtgewichtigen Container. Dieser läuft auf jedem System gleich – egal ob auf deinem Laptop, einem Homeserver oder in der Cloud. In diesem Guide erfährst du, was Docker ist, wie sich Container von virtuellen Maschinen unterscheiden, welche Begriffe du kennen solltest und mit welchen Befehlen du startest.

Was ist Docker – kurz erklärt

Docker ist eine Plattform, um Anwendungen in Containern zu entwickeln, auszuliefern und zu betreiben. Ein Container bündelt Code, Laufzeitumgebung, Bibliotheken und Konfiguration in einer Einheit. Weil er isoliert läuft, kannst du viele Container gleichzeitig auf einem Host betreiben, ohne dass sie sich gegenseitig stören – und ohne dich darauf verlassen zu müssen, was auf dem Host installiert ist.

Container vs. virtuelle Maschine

Der wichtigste Unterschied: Eine VM virtualisiert eine komplette Hardware inklusive eigenem Betriebssystem, ein Container teilt sich den Kernel des Hosts und ist dadurch deutlich schlanker.

MerkmalContainer (Docker)Virtuelle Maschine
GrößeMBGB
StartzeitSekundenMinuten
Betriebssystemteilt Host-Kerneleigenes OS je VM
Overheadgeringhöher
IsolierungProzessebenevollständig (Hardware)

Die wichtigsten Docker-Begriffe

  • Image: Die unveränderliche Vorlage (Bauplan) für einen Container – z. B. nginx:latest.
  • Container: Eine laufende Instanz eines Images.
  • Registry / Docker Hub: Der Speicherort, aus dem Images geladen (pull) und in den sie hochgeladen (push) werden.
  • Dockerfile: Ein Rezept, aus dem ein eigenes Image gebaut wird.
  • Volume: Persistenter Speicher, damit Daten einen Neustart des Containers überleben.
  • Netzwerk: Verbindet Container untereinander und mit der Außenwelt.
  • Docker Compose: Definiert mehrere Container deklarativ in einer docker-compose.yml.

Warum Docker? Die Vorteile

  • Konsistenz: „Läuft bei mir“ wird zu „läuft überall“ – identische Umgebung auf jedem Host.
  • Schnelligkeit: Container starten in Sekunden statt Minuten.
  • Effizienz: Viele Dienste auf einem Server, ohne den Overhead vieler VMs.
  • Portabilität: Vom Laptop über den Homeserver bis in die Cloud – ohne Anpassungen.
  • Sauberkeit: Software testen und wieder entfernen, ohne den Host zuzumüllen.
Siehe auch  Site-to-Site VPN: UniFi Router mit Linux Server (VPS) verbinden

Erste Schritte: die wichtigsten Docker-Befehle

Nach der Installation testest du Docker am schnellsten mit dem hello-world-Image:

docker run hello-world       # Installation testen
docker ps                    # laufende Container anzeigen
docker ps -a                 # auch gestoppte Container
docker images                # lokale Images auflisten
docker logs <container>       # Logs eines Containers ansehen
docker stop <container>       # Container stoppen

Einen Nginx-Webserver startest du z. B. so – erreichbar unter http://localhost:8080:

docker run -d --name web -p 8080:80 nginx:latest

Mehrere Container mit Docker Compose

Für Setups aus mehreren Diensten nutzt du Docker Compose. Eine minimale docker-compose.yml sieht so aus:

services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html
    restart: unless-stopped

Gestartet wird der komplette Stack mit einem Befehl:

docker compose up -d     # Stack im Hintergrund starten
docker compose down      # Stack stoppen und entfernen

Typische Probleme & weiterführende Anleitungen

Beim Einstieg stolpert man über wiederkehrende Fehler – von belegten Ports bis zu Volume-Problemen. Eine Übersicht mit Lösungen findest du hier:

Häufige Fragen zu Docker

Ist Docker kostenlos?

Docker Engine ist Open Source und kostenlos. Für Docker Desktop gelten je nach Unternehmensgröße Lizenzbedingungen – auf Servern nutzt du in der Regel ohnehin die Docker Engine.

Siehe auch  systemd-Service erstellen unter Linux – Anleitung

Brauche ich Linux für Docker?

Docker läuft nativ unter Linux und über Docker Desktop auch unter Windows und macOS. Auf Homeservern kommt meist eine Linux-Basis (oder unRAID) zum Einsatz.

Was ist der Unterschied zwischen Image und Container?

Ein Image ist die unveränderliche Vorlage, ein Container die daraus gestartete, laufende Instanz. Aus einem Image lassen sich beliebig viele Container starten.

Fazit

Docker macht Anwendungen portabel, schnell und sauber trennbar – ideal für Homelab, Selfhosting und Produktion. Wer die Kernbegriffe (Image, Container, Volume, Compose) verstanden hat und die Grundbefehle kennt, hat den wichtigsten Schritt bereits geschafft.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen