コンテナにコマンドがない場合、プロセスを表示する方法、コンテナの実行可能ファイルが $PATH に見つかりません: 不明

序文

コンテナにps -efコマンドがない場合は、次のコマンドを使用してコンテナのプロセスを表示できます。

dockercontainertop を実行すると、コンテナ内で実行されているプロセスが表示されます (このコマンドは非常に便利です)

#docker container top 命令用于查看容器运行的进程
#当容器里面没有ps -ef命令时,使用docker container top 命令可以方便的查看容器运行的进程

#当容器里面没有ps命令时,就无法使用ps命令查看容器启动哪些进程
[root@master ~]# docker exec -it nginx1 bash
root@e88229ce4a8a:/# ps -ef
bash: ps: command not found
#这时可以直接使用docker container top nginx1 查看

#语法
[root@master ~]# docker container top --help
Usage:  docker container top CONTAINER [ps OPTIONS]

[root@master ~]# docker container top nginx1 
UID    PID     PPID    C     STIME   TTY   TIME        CMD
root   9513    9483    0     00:12   ?     00:00:00    nginx: master process nginx -g daemon off;
101    9580    9513    0     00:12   ?     00:00:00    nginx: worker process
101    9581    9513    0     00:12   ?     00:00:00    nginx: worker process
101    9582    9513    0     00:12   ?     00:00:00    nginx: worker process
101    9583    9513    0     00:12   ?     00:00:00    nginx: worker process

k8s クラスターで dockercontainertop コマンドを使用して、コンテナー内で実行されているプロセスを表示します

#该方法同样适用于k8s的pod,因为pod里面本质上运行的就是容器

#得到容器ID,注意复制容器的前12位字符串即可
[root@master ~]#  kubectl  describe pod mysql57 | grep -C2 -i 'Container ID'
Containers:
  mysql:
    Container ID:  docker://0d7575f9a63e0f646ea7d3588d7a77348cab08e8c4e0cbaa2d82556d87777dcf
    Image:         mysql/mysql:5.7
    Image ID:      docker-ullable://mysql/mysql:5.7@sha256:8fxxx0
#查看pod调度到哪个节点上容器就在哪个节点上
kubectl  get pod mysql:5.7 -owide
#去到pod所在节点上
docker container top 0d7575f9a63e

おすすめ

転載: blog.csdn.net/MssGuo/article/details/132621517