1. Docker Compose
Zusammenfassung von Docker Compose Lecture Notes.
1.1. Was bisher geschah (Entwicklung)
-
Architektur:
-
Früher: Mehrere Dienste pro Betriebssystem installiert.
-
→ Neu: Ein Dienst (Service) pro Container.
-
-
Netzwerk:
-
Früher: Manuelles Erstellen von Netzwerken (
docker network create) und Einbinden von Containern (--network). -
→ Neu: Verwendung von
docker-compose(oder Kubernetes) zur Orchestrierung von Multi-Container-Applikationen.
-
1.2. Überblick
-
docker-composedient der Orchestrierung mehrerer Container.-
Orchestrierung bezeichnet die automatisierte Konfiguration, Koordination und Verwaltung von Computersystemen und Software.
-
Im Kontext von Docker bedeutet das: Verwaltung von Containern, deren Netzwerke, Volumes und Startreihenfolge.
-
-
Container laufen in einem gemeinsamen virtuellen Docker-Netzwerk.
-
Direkter Zugriff zwischen Containern ohne Port-Freigabe nach außen möglich.
1.3. Konfiguration
-
Die Konfiguration erfolgt über eine YAML-File:
docker-compose.yml. -
Starten der Umgebung:
docker-compose up -d-
-d: Detached mode (läuft im Hintergrund).
-
docker-compose.yml (Minecraft Server)version: '3.8'
services:
mc:
image: itzg/minecraft-server
ports:
- 25565:25565
environment:
EULA: "TRUE"
volumes:
- ./minecraft-data:/data
2. Pflichtenheft ("Was mache ich")
Das Pflichtenheft beschreibt genau, was umgesetzt werden soll.
2.1. Ausgangssituation
Wer ist der Kunde? Was macht er?
Beispiel: Die HTL Leonding ist eine HTL im oö. Zentralraum mit ca. 1000 Schülern und den Fachabteilungen Medientechnik, Informatik, …
2.2. Istzustand
Wie läuft es aktuell ab (bevor es die neue Software gibt)? Beschreibung der speziellen Situation z.B. in der Abteilung.
2.6. Mengengerüst
Was ist ein Mengengerüst?
Das Mengengerüst ist eine Abschätzung der Datenmengen und Benutzerzahlen. Man überlegt sich:
* Wie viele Nutzer greifen gleichzeitig zu?
* Wie viele Daten werden pro Tag/Jahr gespeichert?
* Wie viel Speicherplatz wird benötigt?
Das ist wichtig, um zu wissen, wie stark der Server sein muss.