необходимо уточнить виртуализацию процессов с контейнерами, созданными "systemd-nspawn"

204
Vignesh k

Я создал контейнер с помощью команды "systemd-nspawn". Внутри этого контейнера с помощью команды «route» я мог получить IP-адрес шлюза по умолчанию и мог пропинговать его. Теперь «ps -ecf» в хост-системе (вне контейнера) показывает процесс «ping».

Страница man "systemd-nspawn" говорит, что она виртуализирует дерево процессов, различные подсистемы IPC, а также имя хоста и домена.

я подумал, что если "systemd-nspawn" виртуализирует дерево процессов, почему я вижу процесс "ping" в "ps -ecf" вне контейнера ??

Я также мог наблюдать это в обратном случае, то есть "ping" от хоста и "ps -ecf" внутри контейнера.

журналы:

1) создать контейнер и ping:
команда chroot в представленной ниже команде имеет изображение debian, полученное из "debootsrtap"

root @ vig-debian: / home / vignesh / docker_tutorials # systemd-nspawn -D chroot Спот
контейнера для порождения в / home / vignesh / docker_tutorials / chroot.
Нажмите ^] три раза в течение 1 с, чтобы убить контейнер.
/ etc / localtime не является символической ссылкой, не обновляет часовой пояс контейнера.
root @ chroot: ~ #
root @ chroot: ~ # route
Таблица маршрутизации IP-
адреса ядра Шлюз Genmask Флаги Метрика Ссылка Использовать Iface
default 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) байтов данных.
64 байта из 10.0.2.2: icmp_seq = 1 ttl = 63 времени = 0,322 мс
64 байта из 10.0.2.2: icmp_seq = 2 ttl = 63 времени = 0,440 мс

2) "пс" в хосте

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
root @ vig-debian: / home / vignesh / docker_tutorials #
root @ vig-debian: / home / vignesh / docker_tutorials # machinectl
СЕРВИС КОНТЕЙНЕРА МАШИНЫ
chroot-контейнер nspawn

1 машин в списке.

0

1 ответ на вопрос

0
Nik

Хост может видеть и отправлять сигнал всем процессам контейнера.

Делая тест из двух контейнеров, вы увидите, что процессы не видны.

Похожие вопросы