查找Docker容器进程? 从主持人的angular度来看

我正在做一些docker和容器的testing,我想知道是否?

有没有一种方法可以用来从主机的angular度来查找与Docker容器相关联的所有进程的名称或ID。

因为在一天结束的时候,一个容器是虚拟化的过程。

Solutions Collecting From Web of "查找Docker容器进程? 从主持人的angular度来看"

您可以使用docker top命令。 这个命令列出你的容器中运行的所有进程。

例如,我的盒子上的单个进程容器上的这个命令显示:

 UID PID PPID C STIME TTY TIME CMD root 14097 13930 0 23:17 pts/6 00:00:00 /bin/bash 

其他人提到的所有方法也可以使用,但这个应该是最简单的。

更新

要简单地获取容器中的主进程ID,请使用以下命令:

  docker inspect -f '{{.State.Pid}}' <container id> 
  • 首先找出docker守护进程的进程ID。
  • 然后通过只保留父进程ID是docker守护进程的进程来过滤进程列表。
  • 最后过滤掉docker-engine等docker-proxy engine内部进程。

 # PID of the docker daemon ps aux | grep -E 'docker (-d|daemon)' 
 root 665 0.0 0.4 1521560 17156 ? Ssl janv.06 5:47 /usr/bin/docker -d -H fd:// 
 # find child processes of the docker daemon pgrep -P 665 

4076

4135

4210

4226

4784

4788

 # figure out details of a process ps 4076 
  PID TTY STAT TIME COMMAND 4076 ? Ssl 10:45 /usr/bin/redis-server 0.0.0.0:6379 
 # repeat for other child processes 

docker ps将列出正在运行的docker容器。

docker exec <id|name> ps会告诉你正在运行的进程。

Docker统计信息“container id”显示资源消耗以及pid或简单的Docker ps。

大概这个备忘单可以使用。 http://theearlybirdtechnology.com/2017/08/12/docker-cheatsheet/