Docker容器的根PID

如何在Docker容器中find根PID的外部PID – 即容器中有PID 1的PID? docker ps似乎并不显示该信息。

一种可能的方法是:

 docker inspect -f '{{ .State.Pid }}' $CONTAINER_ID 

首先,使用sudo docker ps查找容器ID。

然后:

 pgrep -P $(ps -Af | grep lxc-start | grep $CONTAINER_ID | awk '{ print $2; }') 

请尝试:

 docker inspect -f '{{.State.Pid}}' $(docker ps -q) 

这是一个POSIX shell函数,它捕获给定容器的PID。

 pid_for_container() { ps -C lxc-start -o pid= -o args= | fgrep -- " -n $1" | cut -d' ' -f1 } 

这是一个最小(我希望)pipe道为此目的,使用最便宜的( fgrep而不是grepcut而不是awk )命令。