Docker のシステム ログを探索する

PHPz
リリース: 2023-04-19 15:18:25
オリジナル
855 人が閲覧しました

Docker は、アプリケーションを独立したコンテナーに分離し、異なる環境でアプリケーションを実行できるようにする軽量の仮想化テクノロジであり、それによってアプリケーションの迅速な導入と移植性を実現します。 Docker コンテナのライフサイクルにおいて、システム ログは非常に重要なリンクであり、コンテナの状態を監視および維持して、コンテナが正常に動作していることを確認するのに役立ちます。では、Docker のシステム ログとは何でしょうか? Docker のシステム ログを使用および構成するにはどうすればよいですか?この記事では、Docker のシステムログ関連の知識を紹介します。

  1. Docker のシステム ログとは何ですか?

Docker のシステム ログとは、コンテナの実行プロセス中に生成される標準出力や標準エラー出力などのログ情報を指します。標準出力は、プログラムが動作中に print() や cout などのコマンドによって出力する情報を指します。一方、標準エラー出力は、プログラムがエラーを検出したときに出力するエラー メッセージを指します。これらのログ情報は、Docker コンテナーの監視やエラーのトラブルシューティングにとって非常に重要であるため、Docker はコンテナー システム ログを収集、表示、管理するためのさまざまな方法を提供します。 Dockerが提供するシステムログの収集方法を見てみましょう。

  1. Docker のシステム ログ収集方法

Docker では、コンテナのシステム ログ情報を収集するさまざまな方法が提供されています。たとえば、次の方法があります。

2.1 使用方法docker logs コマンド

docker logs コマンドは、指定したコンテナの標準出力および標準エラー出力のログを表示できます。構文は次のとおりです:

docker logs [OPTIONS] CONTAINER
ログイン後にコピー

このうち、OPTIONS はオプションであり、ログの閲覧条件、ログ出力を追跡するかどうかなどを指定できます。 CONTAINER には、表示するログのコンテナ ID またはコンテナ名を指定します。たとえば、コンテナ ID abc123 のコンテナのログ情報を表示するには、次のコマンドを使用できます。

docker logs -f abc123
ログイン後にコピー

このコマンドは、コンテナのログ出力を追跡し、新しいログ情報を表示します。

2.2 docker events コマンドを使用する

docker events コマンドを使用すると、コンテナーの開始と停止を含む、Docker デーモンのイベント ログを表示できます。 docker logs コマンドとは異なり、docker events コマンドはすべてのコンテナーのイベント情報を表示できます。構文は次のとおりです:

docker events [OPTIONS]
ログイン後にコピー

このうち、OPTIONS はオプションであり、特定の種類のイベントを表示するように指定できます。 、特定のイベントなどをフィルターします。

2.3 docker Inspection コマンドを使用する

docker Inspection コマンドを使用すると、コンテナーのネットワーク設定、マウント ポイント、その他の情報を含む、コンテナーの詳細情報を表示できます。コンテナの詳細情報には、コンテナのシステムログ情報も含まれます。たとえば、コンテナ ID abc123 のコンテナの詳細を表示するには、次のコマンドを使用できます。

docker inspect abc123
ログイン後にコピー
  1. Docker のシステム ログ設定

Docker が提供するログ収集 ツールに加えて、サードパーティのツールを使用してコンテナのシステム ログを収集および管理することもできます。たとえば、ELK ツールを使用して、Docker コンテナのログ情報を収集、保存、分析できます。 Docker のログドライバーを使用してコンテナーのログ情報収集方法を構成する方法を見てみましょう。

Docker では、ログ構成に次のログ ドライバーを使用できます:

  • json-file: デフォルトのログ ドライバーは、コンテナー ログを JSON ファイルに出力します。
  • syslog: コンテナのログを syslog に出力します。
  • journald: コンテナのログを systemd-journald に出力します。
  • gelf: コンテナーのログを Graylog 拡張ログ形式で出力します。
  • fluentd: コンテナのログを Fluentd に出力します。

これらのデフォルトのログ ドライバーに加えて、Docker は、logspout、logrotate などのサードパーティのログ ドライバーの使用もサポートしています。 Docker のログ ドライバーを使用して、コンテナーのログ ファイルの場所、形式、その他の情報を構成できます。たとえば、次のコマンドを使用すると、json ファイル ドライバーを使用してコンテナー ログを /var/log/docker ディレクトリに出力できます。

docker run --log-driver=json-file --log-opt max-size=10m --log-opt max-file=3 -d nginx
ログイン後にコピー

上記のコマンドでは、 –log-driver=json-fileが指定されている ログドライバーが json-file の場合、-log-opt max-size=10m および –log-opt max-file=3 でログ ファイルのサイズと数量の制限を指定します。このように、コンテナーがログを生成すると、ログ情報が /var/log/docker/container ID-json.log ファイルに出力されます。

  1. 概要

Docker コンテナのライフサイクルにおいて、システム ログは非常に重要なリンクであり、コンテナのステータスを監視および維持して、通常動作のコンテナ。 Docker は、コンテナーのシステム ログ情報を収集、表示、管理するためのさまざまな方法を提供します。これには、docker ログ、docker events、docker Inspection などのコマンドの使用や、サードパーティのログ ドライバーを使用したログ ファイルの場所、形式、およびログ ファイルの構成が含まれます。その他の情報。実際のニーズに基づいて適切なログ収集ツールと構成方法を選択し、Docker コンテナをより適切に監視および管理できます。

以上がDocker のシステム ログを探索するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート