почему нельзя перечислить информацию о процессе контейнера с помощью ncenter

#docker #namespaces #nsenter

Вопрос:

шаг 1: Запустите контейнер nginx

docker run -d -p 8000:80

шаг 2: проверьте разработку netowrk с помощью ncenter

nsenter -t $PID -n ip a

распечатка консоли

 1: lo: lt;LOOPBACK,UP,LOWER_UPgt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00  inet 127.0.0.1/8 scope host lo  valid_lft forever preferred_lft forever  inet6 ::1/128 scope host  valid_lft forever preferred_lft forever 7: eth0@if8: lt;BROADCAST,MULTICAST,UP,LOWER_UPgt; mtu 1500 qdisc noqueue state UP group default  link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0  inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0  valid_lft forever preferred_lft forever  inet6 2001:db8:1::242:ac11:2/64 scope global nodad  valid_lft forever preferred_lft forever  inet6 fe80::42:acff:fe11:2/64 scope link  valid_lft forever preferred_lft forever  

случай1:

Но это не работает таким образом nsenter -t $PID -p ps -ef В нем есть процесс печати пространства имен моего хоста

случай 2:

nsenter -t $PID -a ps -ef

 nsenter: failed to execute ps: No such file or directory  

случай3: Когда я прикреплю контейнер bash и установлю ps( docker exec -it $ContainerID bash ), он будет хорошо работать. ( nsenter -t $PID -a ps -ef )

 root@dev:/root# nsenter -t $PID -a ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 12:32 ? 00:00:00 nginx: master process nginx -g daemon off; nginx 31 1 0 12:32 ? 00:00:00 nginx: worker process nginx 32 1 0 12:32 ? 00:00:00 nginx: worker process nginx 33 1 0 12:32 ? 00:00:00 nginx: worker process nginx 34 1 0 12:32 ? 00:00:00 nginx: worker process root 536 0 0 13:29 ? 00:00:00 ps -ef  

Я в замешательстве.