Docker verwendete früher Linux Container (LXC), wechselte jedoch zu runC (früher als libcontainer bekannt), das im selben Betriebssystem wie sein Host ausgeführt wird. Dies ermöglicht es, eine Menge der Host-Betriebssystemressourcen zu teilen. Es verwendet auch geschichtete Dateisysteme wie AuFS. Es verwaltet auch die Vernetzung für Sie.
AuFS ist ein geschichtetes Dateisystem, so dass Sie einen schreibgeschützten Teil und einen schreibenden Teil haben und diese zusammenführen können. Sie können also die gemeinsamen Teile des Betriebssystems als schreibgeschützt verwenden, die von allen Ihren Containern gemeinsam genutzt werden, und dann jedem Container eine eigene Halterung zum Schreiben geben.
Nehmen wir an, Sie haben ein Containerbild, das 1 GB groß ist. Wenn Sie eine vollständige VM verwenden möchten, benötigen Sie 1 GB x Anzahl der gewünschten VMs. Mit LXC und AuFS können Sie den Großteil der 1 GB teilen, und wenn Sie über 1000 Container verfügen, haben Sie möglicherweise immer noch etwas mehr als 1 GB Speicherplatz für das Container-Betriebssystem, vorausgesetzt, sie haben alle dasselbe Betriebssystem-Image.
Von, können Sie bitte mehr erarbeiten, wie es sich auf Host-Kernel, wenn es zieht seinen eigenen Kernel – gaurav
@gaurav ist es * nicht * zieht seinen eigenen Kernel: Es beruht auf dem Kernel bereits vorhanden. – VonC
Voc, aber wir wissen, Centos, Ubuntu haben unterschiedliche Kernel dann wie kann es auf Host-Kernel verlassen, wie Ubuntu kann Centos Kernel verwenden – gaurav