1、命令
docker exec :在运行的容器中执行命令
2、语法
docker top [OPTIONS] CONTAINER [ps OPTIONS]
容器运行时不一定有/bin/bash终端来交互执行top命令,而且容器还不一定有top命令,可以使用docker top来实现查看container中正在运行的进程。
3、示例
<1>容器Datahub ,mysql的进程信息
[root@localhost bin]# docker top Datahub
UID PID PPID C STIME TTY TIME CMD
root 50895 50874 5 09:35 ? 00:02:13 dotnet datahub.dll
[root@localhost bin]# docker top phoenix_mysql
UID PID PPID C STIME TTY TIME CMD
polkitd 50153 50134 1 09:35 ? 00:00:26 mysqld --character-set-server=utf8mb4 --lower_case_table_names=1 --innodb_flush_log_at_trx_commit=1
<2>查看所有运行容器的进程信息
for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done
[root@localhost bin]# for i in `docker ps|grep Up|awk '{print $1}'`;do echo \ &&docker top $i;done
UID PID PPID C STIME TTY TIME CMD
root 74469 74450 0 10:13 pts/0 00:00:00 /bin/sh -c sleep 20;dotnet SiteWebWinServiceHost.dll;
root 74510 74469 0 10:13 pts/0 00:00:00 sleep 20
UID PID PPID C STIME TTY TIME CMD
root 52159 52139 0 09:35 ? 00:00:05 dotnet Robin_Console.dll
UID PID PPID C STIME TTY TIME CMD
root 51421 51402 0 09:35 pts/0 00:00:18 java -Xms4096m -Xmx4096m -Xmn1024m -XX:PermSize=512m -XX:MaxPermSize=512m -jar -Dspring.profiles.active=prod -Dspring.config.location=/config/application-prod.yml -Duser.timezone=Asia/Shanghai phoenix-indicators-0.0.1-SNAPSHOT.jar
UID PID PPID C STIME TTY TIME CMD
root 51355 51327 0 09:35 ? 00:00:00 nginx: master process nginx -g daemon off;
100 51460 51355 0 09:35 ? 00:00:00 nginx: worker process
UID PID PPID C STIME TTY TIME CMD
test 50526 50475 0 09:35 ? 00:00:01 influxd
UID PID PPID C STIME TTY TIME CMD
root 51150 51131 4 09:35 pts/0 00:01:42 java -Xms4096m -Xmx8192m -Xmn2048m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m -jar -Dspring.profiles.active=prod -Dspring.config.location=/config/application-prod.properties -Duser.timezone=Asia/Shanghai phoenix-core-0.0.1-SNAPSHOT.jar
UID PID PPID C STIME TTY TIME CMD
root 51998 51979 0 09:35 ? 00:00:00 /bin/sh /home/SiteWeb/start.sh
root 52041 51998 0 09:35 ? 00:00:00 /usr/bin/python3 /usr/bin/supervisord --nodaemon --configuration /etc/supervisor.d/supervisord.conf
root 52051 52041 0 09:35 ? 00:00:01 dotnet Delivery.dll
root 52052 52041 0 09:35 ? 00:00:03 dotnet H5ReportServer.dll
UID PID PPID C STIME TTY TIME CMD
root 50895 50874 5 09:35 ? 00:02:16 dotnet datahub.dll
UID PID PPID C STIME TTY TIME CMD
polkitd 50153 50134 1 09:35 ? 00:00:27 mysqld --character-set-server=utf8mb4 --lower_case_table_names=1 --innodb_flush_log_at_trx_commit=1
UID PID PPID C STIME TTY TIME CMD
root 50025 50007 0 09:35 ? 00:00:03 redis-server *:6379