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
而不是grep
, cut
而不是awk
)命令。