Docker 2024 04: Unterschied zwischen den Versionen

Aus CCWiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 17: Zeile 17:
Beide Varianten bieten die Möglichkeit Applikationen isoliert von anderen Prozessen auszuführen. Im Gegensatz zur Containerisierung wird bei der Virtualisierung ein komplettes Betriebssystem mit entsprechenden Anwendungen gestartet.
Beide Varianten bieten die Möglichkeit Applikationen isoliert von anderen Prozessen auszuführen. Im Gegensatz zur Containerisierung wird bei der Virtualisierung ein komplettes Betriebssystem mit entsprechenden Anwendungen gestartet.


=== Hypervisor ===
Bei der Virtualisierung übernimmt der Hypervisor das erstellen, starten und das Zuteilen der Hardwareressource des Hosts, an die virtualisierten Gast Betriebssysteme. Hypervisoren können in verschiedene Typen eingeteilt werden:
Bei der Virtualisierung übernimmt der Hypervisor das erstellen, starten und das Zuteilen der Hardwareressource des Hosts, an die virtualisierten Gast Betriebssysteme. Hypervisoren können in verschiedene Typen eingeteilt werden:
* Typ 1, Läuft direkt auf der Hardware (z.B.: KVM, Microsoft Hyper-V und VMware vSphere)
* Typ 1, Läuft direkt auf der Hardware (z.B.: KVM, Microsoft Hyper-V und VMware vSphere)

Version vom 5. April 2024, 13:08 Uhr

Schulung Docker 2024/04

In der folgenden Schulung soll ein grundlegendes Verständnis für die Containerisierung erworben werden.

Teilnehmer_innen sollen nach der Schulung in der Lage sein

  • eigene Docker Images zu erstellen und diese mittels Docker Compose zu starten
  • die bereitgestellten Ressourcen für Arbeitsspeicher und CPU Zeit zu modifizieren
  • die Einsatzzwecke der verschiedenen Networking Modelle (insbesondere Bridged vs. Host Network) zu unterscheiden und diese gezielt anwenden können
  • eine eigene Image Registry zu erstellen und dort Images ablegen und abrufen

Welche Bereiche werden explizit ausgeklammert:

  • Limitierung von Netzwerkresourcen (siehe tc, Linux als Hostsystem erforderlich)
  • Limitierung von Disk IO (siehe constraints, Linux als Hostsystem erforderlich)
  • Limitierung von Speicherplatz (siehe XFS, Linux als Hostsystem erforderlich)

Virtualisierung vs Containerisierung

Beide Varianten bieten die Möglichkeit Applikationen isoliert von anderen Prozessen auszuführen. Im Gegensatz zur Containerisierung wird bei der Virtualisierung ein komplettes Betriebssystem mit entsprechenden Anwendungen gestartet.

Hypervisor

Bei der Virtualisierung übernimmt der Hypervisor das erstellen, starten und das Zuteilen der Hardwareressource des Hosts, an die virtualisierten Gast Betriebssysteme. Hypervisoren können in verschiedene Typen eingeteilt werden:

  • Typ 1, Läuft direkt auf der Hardware (z.B.: KVM, Microsoft Hyper-V und VMware vSphere)
  • Typ 2, Läuft auf einem Host Betriebssystem (z.B.: VMware Workstation und Oracle VirtualBox)

[1]


Images & Container

   Parametrisierung: Umgebungsvariablen
   Storage: Mounts und Volumes
   Networking Überblick: Bridge vs Host Network
   Networking Konfiguration: Portforwarding
   Ressourcen Limitierung:
       CPU
       Network
       IO
   Mit Container verbinden
       Dateien von/zu Host Kopieren
       Interaktives Terminal verbinden
       ?Kommandos von Host in Container ausführen?

Docker-Compose

   Würde ich generell docker run vorziehen, da übersichtlicher
   Gemeinsames Fallbeispiel

Dockerfile

   Eigenes Dockerfile auf Grundlage eines bestehenden Base Images erstellen
   Dockerfile für eigene Anwendung erstellen
   docker-compose für Service Verbund erstellen (z.b.: App + Datenbank)

?Registry?