Linux での Docker コンテナ監視: コンテナの実行ステータスをリアルタイムで監視するにはどうすればよいですか?
はじめに:
コンテナ テクノロジの広範な適用により、Docker は最も人気のあるコンテナ化プラットフォームの 1 つになりました。ただし、コンテナを作成して実行するだけでは十分ではなく、コンテナを監視して安定した動作を確保することが重要です。この記事では、Linux プラットフォーム上で Docker コンテナの実行ステータスをリアルタイムで監視する方法と、対応するコード例を紹介します。
1. Docker コンテナ監視の重要性
Docker コンテナを監視することで、コンテナの CPU 使用率、メモリ使用量、ネットワーク トラフィック、ディスク IO およびその他の指標をリアルタイムで追跡できます。潜在的な問題をタイムリーに発見して解決します。同時に、モニタリングはリソース使用率を最適化し、システム全体のパフォーマンスを向上させるのにも役立ちます。
2. cAdvisor を使用して Docker コンテナを監視する
cAdvisor は、コンテナのリソース使用状況を監視するために特に使用されるオープン ソース ツールです。 Docker ホスト上の Docker API を介して Docker エンジンと通信し、コンテナ内のさまざまなインジケーターを収集できます。
docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor:latest
このコマンドは、cAdvisor コンテナをローカルで起動し、ホストの 8080 ポートにマップします。
http://localhost:8080
にアクセスして、cAdvisor 監視インターフェイスを表示します。このインターフェイスは、CPU、メモリ、ネットワーク、ディスクなど、コンテナーのさまざまなインジケーターを表示できます。 3. Docker API を使用してコンテナを監視する
cAdvisor の使用に加えて、Docker API を通じてコンテナの実行ステータスを監視することもできます。 Docker API は、コンテナー情報をクエリおよび管理するための一連のインターフェイスを提供します。
pip install docker
import docker def monitor_container(container_id): client = docker.from_env() container = client.containers.get(container_id) stats = container.stats(stream=True) for stat in stats: # 处理容器的统计数据 print(stat)
このコードは、まず docker.from_env()
を使用して Docker クライアント インスタンスを作成し、次に client.containers.get(container_id)
を通じて指定されたコンテナ オブジェクトを取得します。次に、container.stats(stream=True)
を通じてコンテナのリアルタイム統計データを取得し、それに応じて処理します。
4. 概要
この記事では、Linux 上で Docker コンテナの実行状況をリアルタイムで監視する方法を紹介します。 cAdvisor と Docker API を使用することで、コンテナーのさまざまな指標を簡単に取得し、それに応じてパフォーマンスの最適化とトラブルシューティングを実行できます。この記事が Docker コンテナの監視を理解するのに役立つことを願っています。
コード サンプルと API ドキュメントについては、次のリンクを参照してください:
以上がLinux での Docker コンテナ監視: コンテナの実行ステータスをリアルタイムで監視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。