【发布时间】:2017-03-10 22:25:23
【问题描述】:
使用命令登录到容器后 -
docker exec -it <container_name>
如何检查容器内运行的所有进程? “ps aux”是正确的方法吗?有没有更好的选择/方法?
【问题讨论】:
-
到你的命令把这个放在最后:bash 然后一旦进入,是的 ps 工作......也尝试 ps eafww 查看宽输出
使用命令登录到容器后 -
docker exec -it <container_name>
如何检查容器内运行的所有进程? “ps aux”是正确的方法吗?有没有更好的选择/方法?
【问题讨论】:
使用以下命令可以在不登录终端的情况下显示容器内运行的所有进程。当然,就像使用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 命令查看正在运行的进程。
顺便说一下,建议每个容器有一个用户应用程序/进程。
【讨论】:
您可以使用专用命令 top 列出 docker 容器中的进程,无论容器中的操作系统如何。
docker top <container>
【讨论】:
延伸自@Slawomir 的回答
加上 ps 选项,docker top [--help] CONTAINER [ps OPTIONS]
docker top <container_id> -eo pid,cmd
【讨论】: