ドッカーコンテナプロセスIDを取得する方法は?

いくつかのケースでは、システム負荷などがコンテナ(応答なし)の高いドッカ停止近いが、その後、あなたは船を殺すために強制的に、コンテナのIDによるプロセスのホストプロセスIDを見つけ、することができ、最高のデータを使用していましたボリュームは、データの永続性を確保するため、または(フォローアップ特別な書き込み記事上のデータボリューム)データの損失を引き起こす可能性がコンテナ船強制的にオフ。

ステップ

  1. リストの現在のコンテナ
docker ps --format '{{.ID}} {{ .Names }}'
CONTAINER ID    NAMES
1201281cb959    web
425a6234df74    db
  1. コンテナのプロセスIDを取得
docker inspect -f '{{ .State.Pid }}' web
9834
  1. プロセス情報
tail /proc/9834/cmdline ;echo 
nginx: master process nginx -g daemon off;
  1. 最後に、必要に応じて、プロセスを殺すために容器を強制的に等しいプロセスIDを、殺します。
kill -9 9834

コンテナは、処理
>>実践へのエントリからブック-抜粋<<ドッカーを。

ミラーイメージ(画像)と容器(コンテナ)は、オブジェクト指向プログラミングのクラスおよびインスタンスのように、ミラーが静的に定義され、容器は固体ミラーランタイムです。コンテナは、一時停止、停止、起動、削除、作成することができます。

プロセスは、コンテナの本質であるが、異なるプロセスで、ホストの実装を指示し、コンテナプロセスは、独自の名前空間の独立に実行されています。したがって、コンテナは、独自のルートファイルシステム、ネットワーク構成、独自のプロセス空間、あるいは自分のユーザーID空間を持つことができます。

コンテナ内のプロセスは、それがホストのシステムは独立の下で動作しているかのように、使い切る、隔離された環境で実行されます。この機能は、ホストよりもパッケージ安全な操作を直接適用することができます。

まとめ
記事の下で知識を総括するために最後に、

コンテナのホスト上のプロセスは、本質的にドッカーです。
それらが同じであるため、コンテナのプロセスIDは、ホストプロセスIDです。
ドッカーが正しくコマンドに応答をデーモン場合は直接法を使用してプロセスを強制終了しないでください。

公開された63元の記事 ウォン称賛52 ビュー40000 +

おすすめ

転載: blog.csdn.net/weixin_41521681/article/details/104621794