如何记录Docker容器中运行的所有进程?

时间:2016-10-28 04:36:41

标签: docker logging

使用命令 -

登录容器后
docker exec -it <container_name>

如何检查容器内所有已处理的运行?是&#34; ps aux&#34;正确的方法吗?有没有更好的替代方法?

谢谢

3 个答案:

答案 0 :(得分:12)

您可以使用专用命令 top 列出docker容器中的进程,而不管容器中的操作系统是什么。

docker top <container>

答案 1 :(得分:8)

可以使用以下命令显示在容器内运行的所有进程,而无需登录到终端。当然,它就像人们使用ps -eaf看到的一样,所以只需将其添加到docker exec

bash $ sudo docker exec -it test1 ps -eaf
PID   USER     TIME   COMMAND
    1 root       0:00 sh
    7 root       0:00 sh
   60 root       0:00 /bin/sh
   67 root       0:00 /bin/sh
   84 root       0:00 ps -eaf

就像提到的那样,如果你已经在容器内,那么只需使用ps -eaf命令来查看正在运行的进程。

顺便说一句,建议每个容器有一个用户应用程序/进程。

答案 2 :(得分:2)

延伸到@Slawomir的答案

使用ps选项,docker top [--help] CONTAINER [ps OPTIONS]

docker top <container_id> -eo pid,cmd

相关问题