Docker kann das „Lesen und Schreiben von Festplatten-E/A“ nicht isolieren, aber es kann das Dateisystem, das Netzwerk (Netzwerk), die Kommunikation zwischen Prozessen, Benutzer und Benutzergruppen für Berechtigungen, PID innerhalb des Prozesses und PID des Hosts isolieren , Der Hostname und der Domänenname sind isoliert.
Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Docker-1.13.1-Version, Dell G3-Computer.
Docker kann viele Ressourcen steuern, aber derzeit ist es nicht möglich, „Festplatten-E/A-Lese- und Schreib“-Ressourcen zu isolieren.
Festplatten-E/A bezieht sich auf die Eingabe und Ausgabe der Festplatte (Abkürzungen für Eingabe und Ausgabe). Dabei werden Anweisungen zum Lesen des Inhalts eines bestimmten Sektors von der Festplatte ausgegeben. Der Befehl informiert die Festplatte im Allgemeinen über die Position des Startsektors, gibt dann die Anzahl der aufeinanderfolgenden Sektoren an, die von diesem Anfangssektor gelesen werden müssen, und gibt außerdem an, ob es sich bei der Aktion um Lesen oder Schreiben handelt.
Für Festplatten-E/A-Ressourcen sind die zu berücksichtigenden Parameter Kapazität sowie Lese- und Schreibgeschwindigkeit, daher sollten die Festplattenbeschränkungen für Container auch auf diesen beiden Dimensionen basieren. Derzeit unterstützt Docker die Begrenzung der Lese- und Schreibgeschwindigkeit der Festplatte, es gibt jedoch keine Möglichkeit, die Festplattenkapazität zu begrenzen, die der Container nutzen kann (sobald die Festplatte im Container gemountet ist, kann der Container die gesamte Kapazität der Festplatte nutzen). .
Welche Ressourcen kann Docker also isolieren?
Docker implementiert Ressourcenisolation durch Namespace, Ressourcenbegrenzung durch Cgroups und effiziente Dateivorgänge durch *Copy-on-Write*.
Was kann durch Namespace isoliert werden? Um zu verhindern, dass ein Container andere Container stört, muss er in der Lage sein:
Das Dateisystem muss isoliert sein
Das Netzwerk muss ebenfalls isoliert sein
Auch die Kommunikation zwischen Prozessen muss isoliert werden
In Bezug auf Berechtigungen müssen Benutzer und Benutzergruppen ebenfalls isoliert werden
Die PID innerhalb des Prozesses muss auch von der PID im Host isoliert werden
Der Container muss auch einen eigenen Hostnamen haben
Mit der oben genannten Isolierung glauben wir, dass ein Container vom Host und anderen Containern isoliert werden kann.
“
Das obige ist der detaillierte Inhalt vonWas Docker nicht isolieren kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!