1/20
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Was ist die Grundidee der Containerisierung?
Softwarecode wird zusammen mit allen benötigten Bibliotheken und Abhängigkeiten in eine einzige, leichtgewichtige, ausführbare Datei verpackt. Dies sorgt für Konsistenz über verschiedene Infrastrukturen hinweg.
Was ist der Hauptunterschied im Aufbau zwischen einer VM und einem Container?
VM: Benötigt einen Hypervisor und ein komplettes eigenes Gast-Betriebssystem (schwerfällig).
Container: Teilt sich den Betriebssystemkern (Host OS) über eine Runtime Engine (z. B. Docker) und enthält nur App + Bibliotheken (leichtgewichtig).
Nenne drei wesentliche Vorteile von Containern.
1. Effizienz: Schneller Start und geringer Ressourcenverbrauch. 2. Agilität: Konsistente Umgebung für Dev und Test. 3. Isolierung: Erhöhte Sicherheit und Stabilität (Absturz eines Containers betrifft andere nicht).
Was versteht man unter Microservices im Kontext von Updates?
Die Anwendung wird in kleine, unabhängige Bereiche unterteilt. Aktualisierungen können gezielt an einem Service vorgenommen werden, ohne die gesamte Anwendung zu beeinträchtigen.
Erkläre den Unterschied zwischen einem Docker Image und einem Container.
Image: Die unveränderliche Vorlage/Blaupause (wie ein Pizzarezept oder eine Tiefkühlpizza).
Container: Die laufende Instanz (wie die fertige, heiße Pizza auf dem Teller).
Was bewirkt der Befehl docker run?
Er prüft, ob das Image lokal vorhanden ist (lädt es sonst von Docker Hub), erstellt den Container und startet ihn sofort.
Was bedeuten diese Docker-Tags: -d, -p, -v?
-d (Detached): Läuft im Hintergrund.
-p (Publish): Verbindet Host-Port mit Container-Port (z. B. 8080:80).
-v (Volume): Teilt Daten zwischen Host und Container.
Was bedeuten diese Docker-Tags: -it, --rm, --name?
-it: Interaktive Sitzung im Terminal.
--rm: Löscht Container automatisch nach dem Stoppen.
--name: Gibt dem Container einen festen Namen statt einer ID.
Was ist ein Dockerfile und wie wird daraus ein Image?
Ein Dockerfile ist ein Text-Manifest (Bauanleitung) ohne Dateiendung. Mit dem Befehl docker build wird daraus das Image erstellt.
Wofür stehen FROM, WORKDIR und COPY?
FROM: Definiert das Basis-Image (muss am Anfang stehen).
WORKDIR: Setzt das Arbeitsverzeichnis im Container.
COPY: Kopiert Dateien vom lokalen Rechner in das Image.
Wofür stehen RUN und CMD?
RUN: Führt Befehle während des Build-Prozesses aus (z. B. Installationen).
CMD: Definiert den Standardbefehl, der beim Starten des fertigen Containers ausgeführt wird.
Warum benötigt man Docker Volumes?
Container sind flüchtig. Ohne Volumes gehen alle Daten verloren, sobald der Container gelöscht wird. Volumes speichern Daten dauerhaft außerhalb des Containers.
Was ist der Unterschied zwischen einem Named Volume und einem Bind Mount?
Named Volume: Von Docker verwaltet (Name wählbar). Ideal für Datenbanken.
Bind Mount: Verknüpft einen spezifischen Ordner des Laptops direkt mit dem Container. Ideal für Webentwicklung (Live-Reload).
Was ist Docker Compose und welches Dateiformat nutzt es?
Ein Tool zur Verwaltung komplexer Anwendungen aus mehreren Containern. Es nutzt die Datei compose.yaml (oder .yml) mit strikten Einrückungen.
Nenne die zwei wichtigsten Docker Compose Befehle für Start und Ende
docker-compose up: Erstellt und startet alle Dienste. 2. docker-compose down: Stoppt und löscht alle Container des Projekts.
Wofür wird der Parameter -e beim Befehl docker run verwendet?
Er setzt Umgebungsvariablen (Environment Variables) innerhalb des Containers. Dies wird oft genutzt, um initiale Konfigurationen wie Benutzernamen (MONGO_INITDB_ROOT_USERNAME) oder Passwörter festzulegen.
Analysiere den Port-Parameter -p 27017:27017. Welcher Teil gehört zum Host, welcher zum Container?
Der erste Wert (27017) ist der Port auf dem Host-Rechner, der zweite Wert (27017) ist der Port innerhalb des Containers.
Warum sollte man im Dockerfile den Befehl USER verwenden?
Aus Sicherheitsgründen. Standardmäßig laufen Container oft als "Root". Durch USER wechselt man zu einem weniger privilegierten Benutzer, um das Schadenspotenzial bei einem Angriff zu minimieren.
Was ist ein Bind Mount?
Eine direkte Verknüpfung eines Pfades vom Host-PC in den Container.
Hauptnutzen: Live-Änderungen am Code während der Entwicklung.
Syntax-Beispiel: -v $(pwd)/projekt:/app
Was ist ein Named Volume?
on Docker verwalteter Speicherplatz außerhalb des Containers.
Hauptnutzen: Dauerhafte Datenspeicherung für Datenbanken.
Syntax-Beispiel: -v mein-speicher:/data
Was macht der Parameter --net?
Verbindet den Container mit einem spezifischen virtuellen Netzwerk (z. B. damit App und Datenbank sich finden).