84

私はドッカーとコンテナでいくつかのテストを行っていますが、疑問に思っていました:

ホストの観点から、 docker コンテナーに関連付けられているすべてのプロセスをその名前または ID で見つけるために使用できる方法はありますか。

結局のところ、コンテナーは仮想化されたプロセスのセットです。

4

8 に答える 8

23

Docker コンテナーで実行されるプロセスは、containerd-shim(Docker v18.09.4 で)という名前のプロセスの子です。

  • まず、プロセスのプロセス ID を調べcontainerd-shimます。
  • それぞれについて、子プロセスを見つけます。

pgrep containerd-shim
7105
7141
7248

親プロセス 7105 の子プロセスを見つけるには:

pgrep -P 7105

7127


最後に、次の方法でリストを取得できます。

for i in $(pgrep containerd-shim); do pgrep -P $i; done
7127
7166
7275
于 2016-01-19T14:44:59.420 に答える
12

1行でbashスクリプトを使用して同様のソリューションを見つけました:

for i in $(docker container ls --format "{{.ID}}"); do docker inspect -f '{{.State.Pid}} {{.Name}}' $i; done
于 2020-10-21T18:45:39.630 に答える
-3

Docker stats "container id" リソースの消費量を pid または単に Docker ps とともに表示します。

おそらく、このチート シートが役立つ可能性があります。 http://theearlybirdtechnology.com/2017/08/12/docker-cheatsheet/

于 2017-08-22T20:42:11.823 に答える