Linux 将“docker ps”与主机关联';s`ps`

Linux 将“docker ps”与主机关联';s`ps`,linux,docker,Linux,Docker,docker ps不让我知道容器本身的pid。在主机上运行的docker ps和ps的输出之间进行命令字符串匹配并非万无一失,因为我可以在主机上运行相同的命令 有人有确定的方法将两者联系起来吗 获取容器的PID用法如下 $ CPID=$(docker inspect -f "{{ .State.Pid }}" $containerid) 要获取上述进程的所有子进程,请使用 $ pgrep -P $CPID 要获取容器的PID,请在下面使用 $ CPID=$(docker inspect -f

docker ps
不让我知道容器本身的pid。在主机上运行的
docker ps
ps
的输出之间进行命令字符串匹配并非万无一失,因为我可以在主机上运行相同的命令


有人有确定的方法将两者联系起来吗

获取容器的PID用法如下

$ CPID=$(docker inspect -f "{{ .State.Pid }}" $containerid)
要获取上述进程的所有子进程,请使用

$ pgrep -P $CPID

要获取容器的PID,请在下面使用

$ CPID=$(docker inspect -f "{{ .State.Pid }}" $containerid)
要获取上述进程的所有子进程,请使用

$ pgrep -P $CPID

就个人而言,我将考虑在主机上使用SysDip来运行关于容器状态的查询。这样,您可以要求
proc.vpid
从进程自己的命名空间中获取PID,或者要求
proc.PID
获取全局PID。为什么要获取容器进程的PID?@TarunLalwani为什么不?我的意思是理解usecase@TarunLalwani用例在问题本身中。我需要它的相关性。我需要将容器ID与它在主机上保持的PID关联起来,以便进行我尚未想到的无数次使用。这个问题不依赖于用例,而是一个通用的问题。我需要一个SuthHead的方法,而不是一个可能有歧义的东西(就像我现在使用的方法)。个人来说,我会考虑在主机上使用SysDip来运行关于容器状态的查询。这样,您可以要求
proc.vpid
从进程自己的命名空间中获取PID,或者要求
proc.PID
获取全局PID。为什么要获取容器进程的PID?@TarunLalwani为什么不?我的意思是理解usecase@TarunLalwani用例在问题本身中。我需要它的相关性。我需要将容器ID与它在主机上保持的PID关联起来,以便进行我尚未想到的无数次使用。这个问题不依赖于用例,而是一个通用的问题。我需要一种可靠的方法,而不是有歧义的方法(比如我现在使用的方法)。