1. #1
    Avatar von Rnb
    Registriert seit
    31.01.2011
    Beiträge
    22
    Thanked 4 Times in 3 Posts

    Standard Warum Docker und Docker Compose nutzen? Was sind die Vorteile von Docker Containern?

    Ich lese mich gerade in Docker ein. Habe gesehen es gibt auch noch Docker Compose aber mir ist nicht so ganz klar was genau die Vorteile sind. Warum sollte man Docker nutzen? Wieso ist es so beliebt?
    Warum nicht einfach einen normalen Server auf dem man seine Programme installiert?

  2. #2
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.080
    Thanked 9.118 Times in 2.995 Posts
    Blog Entries
    5

    Standard AW: Warum Docker und Docker Compose nutzen? Was sind die Vorteile von Docker Containern?

    1. Geringer Ressourcenverbrauch

    Ein Container isoliert die Anwendung mit ihren Abhängigkeiten. Dabei ist kein eigener Kernel oder gar ein komplettes Betriebssystem notwendig, welches wiederum Overhead verursachen würden. Container verbrauchen nur so viele Ressourcen, wie das darin laufende Anwendung. Dies gilt sowohl für Arbeitsspeicher, als auch Prozessor und Festplattenspeicher. Vor allem bei mehreren Instanzen macht sich dies bemerkbar: Bei zwei VMs hat man zwei Kopien des kompletten Betriebssystemes, die entfallen.

    2. Bessere Performance & schnellere Bereitstellung


    Die Technologie hinter Docker steckt bereits seit über 10 Jahren im Kernel und ist dementsprechend ausgereift. Im Gegensatz zu kompletten VMs ist sie performanter. Vor allem aber macht sich dies in der Bereitstellung bemerkbar: Ein Container ist nach dem herunterladen des Images in Sekunden einsatzbereit. In dieser Zeit wäre eine VM noch nicht einmal komplett hochgefahren. Selbst wenn virtuelle Maschinen gemäß dem aktuellen Stand der Technik mit Werkzeugen wie Ansible & co. automatisiert eingerichtet werden, ist dies nicht ansatzweise so schnell wie einen Container zu starten.
    Gerade beim entwickeln und testen ist dies hilfreich, wenn viele Änderungen vorgenommen werden und man testen möchte. Aber auch im Zuge von

    3. Höhere Flexibilität

    Sowohl das Skalieren als auch das Verschieben auf andere Systeme ist einfacher. Dies gilt sowohl für selbst betriebene Server, als auch die Cloud. Eine Migration zwischen Cloud und selbst verwalteter Server ist dadurch einfacher - in beiden Fällen läuft die gleiche Anwendung.
    Dies macht sich ebenfalls bei den Images (Abbildern) bemerkbar, die quasi eine Vorlage für Container darstellen. Man kann jedes fertige Image als Grundlage für Erweiterungen oder Veränderungen nutzen. Ein Praxisbeispiel: Wer PHP betreiben möchte, nutzt die offiziellen PHP-Images. Um eine benötigte Erweiterung (z.B. MySQLi) zu installieren, muss man aber kein komplett eigenes Docker-Image inklusive PHP-Installation erstellen. Stattdessen nutzt man das offizielle PHP-Image als Grundlage und fügt dort lediglich die gewünschten PHP-Erweiterungen hinzu.

    4. Das Betriebssystem bzw. die Distribution wird unwichtiger

    Verschiedene Distributionen kommen mit unterschiedlichen Paketen. Vor allem bei Abhängigkeiten wie z.B. Bibliotheken kann dies dazu führen, dass eine Software unter Distribution X in Version Y nicht richtig oder gar nicht läuft. Ein Container dagegen bringt alle Abhängigkeiten in der gewünschten Version mit - es gibt also keine globalen Bibliotheken mehr, die variieren können. So lange Docker läuft, wird auch das Image laufen. Und zwar ohne, dass die Entwickler zig Distributionen in verschiedenen Versionen durchprobieren müssen.

    5. Isolation

    Innerhalb eines Containers ist die dort laufende Anwendung vom Host-System isoliert. Es gibt nur definierte Schnittstellen, wie etwa ein gemountetes Volume oder ein freigegebener Port. Die Auswirkungen einer Kompromittierung durch z.B. Sicherheitslücken in der Anwendung können - korrekt konfiguriert - eingeschränkt werden.


Ähnliche Themen

  1. Antworten: 15
    Letzter Beitrag: 13.02.2024, 13:38
  2. Antworten: 3
    Letzter Beitrag: 25.12.2023, 14:06
  3. Docker-Compose/Pip sehr langsam auf dem Raspberry Pi
    Von American Psycho im Forum Raspberry Pi
    Antworten: 4
    Letzter Beitrag: 16.02.2022, 00:10
  4. PHP-FPM/fastcgi und Nextcloud mit Docker
    Von luQ im Forum Server-Administration
    Antworten: 1
    Letzter Beitrag: 11.12.2020, 21:31
  5. Antworten: 1
    Letzter Beitrag: 21.10.2017, 00:35
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.