Klärungsbedarf bei der Prozessvirtualisierung mit Containern, die von "systemd-nspawn" erstellt wurden

300
Vignesh k

Ich habe einen Container mit dem Befehl "systemd-nspawn" erstellt. In diesem Container konnte ich mit dem Befehl "route" die IP-Adresse des Standard-Gateways abrufen und einen Ping-Befehl ausführen. Jetzt zeigt "ps -ecf" im Hostsystem (außerhalb des Containers) den "Ping" -Prozess.

Manpage von "systemd-nspawn" sagt, es virtualisiert den Prozessbaum, die verschiedenen IPC-Subsysteme und den Host- und Domänennamen.

mein Gedanke ist, wenn "systemd-nspawn" Prozessbaum virtualisiert, warum sehe ich "ping" -Prozess in "ps -ecf" außerhalb des Containers?

Ich könnte dies auch im umgekehrten Fall beobachten, dh "ping" vom Host und "ps -ecf" im Container.

Protokolle:

1) Container und Ping erstellen: Das
Verzeichnis chroot in dem folgenden Befehl enthält ein Debian-Image, das von "debootsrtap" abgerufen wird.

root @ vig-debian: / home / vignesh / docker_tutorials # systemd-nspawn -D chroot
Spawning-Container-Chroot auf / home / vignesh / docker_tutorials / chroot.
Drücken Sie innerhalb von 1s dreimal ^], um den Container zu beenden.
/ etc / localtime ist kein Symlink und aktualisiert keine Container-Zeitzone.
root @ chroot: ~ #
root @ chroot: ~ # route
Kernel-IP-Routing-Tabelle
Ziel-Gateway-Genmaske Flags Metric Ref Verwendung Wenn
Standardeinstellung 10.0.2.2 0.0.0.0 UG 1024 0 0 eth0
10.0.2.2 * 255.255.255.255 UH 1024 0 0 eth0
10.12 .4.0 * 255.255.255.0 U 0 0 0 eth0
root @ chroot: ~ # ping 10.0.2.2
PING 10.0.2.2 (10.0.2.2) 56 (84) Datenbytes.
64 Bytes aus 10.0.2.2: icmp_seq = 1 ttl = 63 Zeit = 0,322 ms
64 Bytes aus 10.0.2.2: icmp_seq = 2 ttl = 63 Zeit = 0,440 ms

2) "ps" im Host

root @ vig-debian: / home / vignesh / docker_tutorials # ps -ecf | grep "ping"
root 3460 3452 TS 19 16:49 pts / 1 00:00:00 ping 10.0.2.2
root 3462 2493 TS 19 16:49 pts / 2 00:00:00 grep ping-wurzel
@ vig-debian: / home / vignesh / docker_tutorials #
root @ vig-debian: / home / vignesh / docker_tutorials # machinectl
MASCHINEN-CONTAINER SERVICE
chroot-Container nspawn

1 Maschinen aufgelistet.

0

1 Antwort auf die Frage

0
Nik

Der Host kann alle Containerprozesse sehen und Signale senden.

Beim Testen aus zwei Containern werden Sie sehen, dass die Prozesse nicht sichtbar sind.