-
31.05.2022, 11:37 #1
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?
-
16.06.2022, 13:39 #2
- Registriert seit
- 15.11.2011
- Beiträge
- 6.209
- Blog Entries
- 5
Thanked 9.130 Times in 3.005 PostsAW: 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
-
Einstieg in Docker-Container mit Compose für Einsteiger inkl. Installation/Einrichtung
Von DMW007 im Forum Raspberry PiAntworten: 15Letzter Beitrag: 13.02.2024, 13:38 -
Apache Webserver mit PHP-Modul unter Docker-Compose einrichten: So kannst du jede PHP-Version einfach nutzen & flexibel wechseln
Von DMW007 im Forum Raspberry PiAntworten: 3Letzter Beitrag: 25.12.2023, 14:06 -
Docker-Compose/Pip sehr langsam auf dem Raspberry Pi
Von American Psycho im Forum Raspberry PiAntworten: 4Letzter Beitrag: 16.02.2022, 00:10 -
PHP-FPM/fastcgi und Nextcloud mit Docker
Von luQ im Forum Server-AdministrationAntworten: 1Letzter Beitrag: 11.12.2020, 21:31 -
Volume wird beim Bauen mit Docker-Compose nicht gemountet
Von DotNet im Forum LinuxAntworten: 1Letzter Beitrag: 21.10.2017, 00:35
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.