Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Durch welche Isolierung werden Docker-Container isoliert?

Durch welche Isolierung werden Docker-Container isoliert?

WBOY
WBOYOriginal
2022-08-15 16:42:064615Durchsuche

Docker-Container erreichen die Isolierung durch den Namespace der Linux-Kernel-Technologie. Der Mechanismus „Linux Namespaces“ bietet eine Ressourcenisolationslösung. Die Ressourcen unter jedem Namespace sind transparent und für die Ressourcen unter anderen Namespaces unsichtbar , wird es mehrere Prozesse mit derselben PID geben.

Durch welche Isolierung werden Docker-Container isoliert?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-Version 19.03, Dell G3-Computer.

Was ist die Isolation von Docker-Containern?

Docker verwendet hauptsächlich den Namespace der Linux-Kernel-Technologie, um eine Isolationslösung für Ressourcen zu erreichen.

PID, IPC, Netzwerk und andere Systemressourcen sind nicht mehr global, sondern gehören zu einem bestimmten Namespace. Die Ressourcen unter jedem Namespace sind transparent und für die Ressourcen unter anderen Namespaces unsichtbar. Daher gibt es auf Betriebssystemebene mehrere Prozesse mit derselben PID. Es können zwei Prozesse mit den Prozessnummern 0, 1 und 2 gleichzeitig im System vorhanden sein. Da sie zu unterschiedlichen Namensräumen gehören, besteht kein Konflikt zwischen ihnen. Auf Benutzerebene sind nur Ressourcen sichtbar, die zum eigenen Namespace des Benutzers gehören. Mit dem Befehl ps können beispielsweise nur Prozesse unter dem eigenen Namespace des Benutzers aufgelistet werden. Auf diese Weise sieht jeder Namespace wie ein separates Linux-System aus.

Durch welche Isolierung werden Docker-Container isoliert?

Das Beispiel lautet wie folgt: Prozessisolation

Starten Sie einen Container

docker run -it -p 8080:8080 --name pai-sn pai-sn:snapshot /bin/bash

-it interaktiver Start, -p Portzuordnung, –name Auf den Containernamen folgt der Bildname, öffnen Sie die Shell , und geben Sie den Container nach dem Start ein

Prozess anzeigen

ps -ef

Durch welche Isolierung werden Docker-Container isoliert?

Verwenden Sie den oberen Befehl, um Prozessressourcen anzuzeigen

Durch welche Isolierung werden Docker-Container isoliert?

Zeigen Sie den Prozess des aktuell ausgeführten Containers auf dem Host-Computer an ps -ef|grep pai-sn

Durch welche Isolierung werden Docker-Container isoliert?

Daraus können wir erkennen, dass der Docker-Ausführungsbefehl nur einen Prozess startet und seine PID 4677 ist. Das Containerprogramm selbst ist isoliert und nur seine eigenen internen Prozesse sind im Container sichtbar. Docker wird mit Hilfe der Namespace-Technologie des Linux-Kernels implementiert.

Dateiisolierung

Führen Sie den Befehl ls im Stammverzeichnis im Container aus.

Durch welche Isolierung werden Docker-Container isoliert?

Der Container enthält bereits diese Ordner.

Der Host führt Docker-Informationen aus Unser Docker. Was

Durch welche Isolierung werden Docker-Container isoliert?

Die Docker-Version ist 20.10.6 und der Speichertreiber ist Overlay2. Verschiedene Speichertreiber verhalten sich in Docker unterschiedlich, aber die Prinzipien sind ähnlich.

Das Docker-Dateisystem wird über „mount“ gemountet. Führen Sie den Befehl „docker ps“ aus

Wir haben festgestellt, dass dies mit dem Verzeichnis unseres Containers übereinstimmt. Wir erstellen ein neues Verzeichnis unter diesem Verzeichnis und prüfen dann, ob im Container ein neues Verzeichnis angezeigt wird. Tatsächlich erfolgt die Datei- und Ressourcenisolierung über das Mounten im neuen Namespace.

Durch welche Isolierung werden Docker-Container isoliert?Empfohlenes Lernen: „

Docker-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDurch welche Isolierung werden Docker-Container isoliert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn