
Ich habe vor etwa einem Jahr irgendwo gelesen, dass die Verwendung von Docker-Containern einen Server stabiler macht, weil durch eine fehlerhafte Anwendung der Container abstürzt und nicht das Host-Betriebssystem.
Soweit ich weiß,Anwendungen können ein Betriebssystem nicht allein zum Absturz bringen, dazu ist ein Kernel-, Treiber- oder Hardwarefehler erforderlich.
Verhindert die Docker-Virtualisierung Abstürze des Host-Betriebssystems?
Antwort1
Durch Virtualisierung lassen sich Abstürze des Host-Betriebssystems zwar nicht verhindern, sie kann jedoch dazu beitragen, den Risikofaktor zu senken.
Docker ist nichts anderes als eine Schnittstelle, die Systemaufrufe vom virtualisierten Programm zum Host-Betriebssystem übersetzt. Daher kann einer oder eine Kombination der Aufrufe immer noch auf einen Betriebssystemfehler stoßen und es zum Absturz bringen.
Docker ist in dieser Hinsicht anfälliger für derartige Probleme als klassische virtuelle Maschinen, da das virtualisierte Programm unter Docker weniger isoliert ist, obwohl die Wahrscheinlichkeit, dass dies passiert, unter Docker vielleicht etwas geringer ist als bei der Ausführung direkt auf dem Betriebssystem, weil die Aufrufe über zwei Schnittstellen statt über eine laufen und so doppelt geprüft werden.
Docker setzt dem virtualisierten Programm einige Grenzen, wie z. B. den maximalen RAM und die maximale CPU, was dazu beitragen kann, Systemabstürze aufgrund von Überlastung und Ressourcensättigung zu vermeiden. Außerdem verbirgt es das Dateisystem des Hosts vor dem virtualisierten Programm (Ausnahmen sind immer möglich) und verhindert so eine Beschädigung durch das Programm.