Docker は非常に人気のあるオープン ソースのコンテナ化プラットフォームであり、アプリケーションの展開と管理のための、より効率的で信頼性が高く安全なソリューションを提供します。ただし、Docker をデプロイメントや運用保守に使用する場合、システムの実行ステータス、トラブルシューティング、運用保守のデバッグなどをより深く理解するために、コンテナーの実行プロセス中にログ ファイルをクエリする必要があることがよくあります。では、Docker のログ ファイルはどこに保存されるのでしょうか?この記事では、Docker のログファイルの閲覧方法とその注意点について詳しく紹介します。
1. Docker のログ ファイルのデフォルトの保存場所
Docker では、各コンテナーが対応するログ ファイルを生成します。これらのログ ファイルは、デフォルトでコンテナのファイル システムに保存されます。具体的には、Docker はデフォルトで、コンテナーの標準出力 (stdout) と標準エラー (stderr) をコンテナーの標準出力ファイルと標準エラー ファイルにリダイレクトします。これらのログ ファイルは通常、次のディレクトリにあります。
/var/lib/docker/containers/$CONTAINER_ID/$CONTAINER_ID-json.log
ここで、$CONTAINER_ID は、容器 。
Docker ログの保存に関しては、いくつかの重要な点があります:
- ログ ファイルは、デフォルトではホストではなくコンテナに保存されます。これは、Docker がコンテナ仮想化を使用しているためです。アプリケーションを標準化された方法で実行するために、コンテナーは、独自のファイル システムとプロセス領域を含む分離された環境です。
- ログ ファイルは通常、JSON 形式で保存され、各ログ行のタイムスタンプ、ログ レベル、コンテナ ID、ログの内容、その他の情報が含まれます。
- ログ ファイルはデフォルトでは自動的にクリアされないため、これらのファイルを積極的に削除しないと、コンテナのディスク領域を占有し続け、コンテナの実行中にディスク領域が徐々に減少します。
2. Docker CLI を使用してコンテナ ログ ファイルを表示する
Docker をコンテナ管理に使用するプロセスでは、Docker CLI コマンド ライン ツールを使用してコンテナ ログ ファイルを表示できます。以下では、コンテナー ログを表示する機能を実装するためのいくつかの基本的な Docker CLI コマンドを紹介します。
- docker logs [オプション] CONTAINER
このコマンドの機能は、指定されたコンテナーのすべてのログ情報を出力することです。このうち、OPTIONS オプションは次のとおりです。
-a、--all: すべてのコンテナのログ情報を表示します。
-t、--timestamps: タイムスタンプを表示します。
-f , --follow: 例えば、tailf メソッドを使用してログを出力する、つまり表示ログを継続的に更新する
--tail=: 先頭から指定した行数のログを出力しますログ ファイルの末尾。デフォルトはすべてのログです ($ docker logs -tail all)
--since=: 指定された時間以降に記録されたログを出力します (例: "2019-01-01"、またはtimestamp
--until=: 指定時刻以前に記録されたログを出力します。 log
の具体的な使用方法は次のとおりです。
$ docker logs CONTAINER_ID
このコマンドは、指定されたコンテナーのすべてのログ情報を表示します。CONTAINER_ID はコンテナーの一意の識別子です。コンテナーのログ情報の最後の N 行を表示したい場合は、次のコマンドを使用できます:
$ docker logs --tail N CONTAINER_ID
実際のログ情報を監視する必要がある場合は、 -time コンテナーのログ出力をいつでも追加できます。Upper -f オプション:
$ docker logs -f CONTAINER_ID
- docker Inspection [OPTIONS] CONTAINER
このコマンドの機能は、コンテナのログ ファイル パス、実行ステータス、IP アドレス、ポート マッピング、その他の関連情報を含む、指定されたコンテナの詳細情報を取得することです。このコマンドを使用すると、以下に示すように、コンテナーのログ ファイルのデフォルトのストレージ パスを取得できます。
$ docker Inspection --format='{{.LogPath}}' CONTAINER_ID
Inコンテナの表示に加えて、このコマンドはログ ファイル パスに加えて、その他の関連情報も表示できます。具体的な使用方法は次のとおりです。 -Docker ログを表示するためのパーティ ツール
Docker CLI ツールに加えて、サードパーティ ツールを使用して Docker ログをより便利に表示することもできます。ここでは、2 つの人気のある Docker ログ表示ツールを紹介します。
Docker Compose- Docker Compose は、Docker によって公式に提供されるコンテナ オーケストレーション ツールであり、構成可能なファイル docker-compose を提供します。 yml を使用して、マルチコンテナー アプリケーションがどのように構成され、実行されるかを定義します。デプロイメントに Docker Compose を使用すると、複数のコンテナーを一度に起動し、同時にログを収集および管理することが簡単になります。
- Docker Compose を使用してアプリケーションをデプロイする場合、docker-compose logs コマンドを通じてコンテナーのログを表示できます。
$ docker-compose logs [SERVICES...]
このうち、SERVICES は指定したサービス名で、デフォルトでは全サービスのログが出力されます。表示されます。
ELK Stack- ELK は、ログの収集、分析、視覚化を実現するために連携できる 3 つのオープン ソース ソフトウェア、Elasticsearch Logstash Kibana の組み合わせを指します。 Docker のログ データは Logstash を通じて収集でき、その後、そのログ データを Elasticsearch に転送してインデックス付けと取得を行い、最後に Kibana インターフェイスを通じてデータを視覚的に表示できます。
- ELK スタックを使用して Docker ログを収集および視覚化するには、次の手順が必要です。
(1) Docker のインストール
(2) Docker Compose のインストール
( 3) ELK スタック イメージ ファイルをダウンロードします: docker pull sebp/elk
(4) docker-compose.yml ファイルを使用して ELK スタック サービスを開始します:
version: '3.7'
services:
elasticsearch:
image: sebp/elk ports: - "9200:9200" volumes: - ./elasticsearch.yml:/etc/elasticsearch/elasticsearch.yml
kibana :
image: sebp/elk ports: - "5601:5601" links: - elasticsearch
logstash:
image: sebp/elk volumes: - ./logstash:/etc/logstash/conf.d links: - elasticsearch
(5) Logstash 構成ファイルで Docker ログのパスを指定します。
input {
file {
path => ["/var/lib/docker/containers/*/*.log"] type => "docker" codec => "json"
}
}
filter {
if [type] == "docker" {
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200" manage_template => false index => "docker-%{+YYYY.MM.dd}"
}
}
(6) Logstash サービスを再起動し、Kibana インターフェイスを通じて Docker ログ ファイルを検索して表示します。
要約すると、この記事では、Docker CLI コマンド、Docker Compose や ELK Stack などのサードパーティ ツールを含む、Docker でログ ファイルを表示する方法について詳しく説明します。これらのツールを利用すると、Docker コンテナのログ情報をより簡単に監視およびデバッグして、アプリケーションが正常に動作していることを確認できます。
以上がDocker はログ ファイルの場所を確認しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

DockerとKubernetesを使用して、スケーラブルなアプリケーションを構築します。 1)dockerfileを使用してコンテナ画像を作成します。2)Kubectlコマンドを介してKubernetesの展開とサービス、3)Horizontalpodautoscalerを使用して自動スケーリングを実現し、それにより効率的でスケーラブルなアプリケーションアーキテクチャを構築します。

DockerとKubernetesの主な違いは、Dockerがコンテナ化に使用され、Kubernetesはコンテナオーケストレーションに使用されることです。 1.Dockerは、アプリケーションを開発、テスト、展開し、コンテナを介して分離とリソースの制限を実装するための一貫した環境を提供します。 2。Kubernetesは、コンテナ化されたアプリケーションを管理し、自動化された展開、拡張、管理機能を提供し、負荷分散と自動スケーリングをサポートします。この2つの組み合わせは、アプリケーションの展開と管理の効率を改善できます。

LinuxにDockerをインストールして構成するには、システムが64ビットとカーネルバージョン3.10以上であることを確認する必要があります。コマンド「Sudoapt-GetUpDate」を使用し、コマンド「Sudoapt-GetUpDate」でインストールし、「Sudoapt-GetUpDate」で検証します。 Dockerは、Linuxカーネルの名前空間とコントロールグループを使用して、コンテナの分離とリソースの制限を実現します。画像は読み取り専用テンプレートであり、コンテナを変更できます。使用法の例には、NGINXサーバーの実行やカスタムDockerFilesを使用した画像の作成が含まれます。一般

Dockerを使用する理由は、アプリケーションをパッケージ化、配布、および実行するための効率的でポータブルで一貫した環境を提供するからです。 1)Dockerは、開発者がアプリケーションとその依存関係を軽量のポータブルコンテナにパッケージ化できるようにするコンテナ化されたプラットフォームです。 2)Linuxコンテナテクノロジーとジョイントファイルシステムに基づいて、迅速な起動と効率的な操作を確保しています。 3)Dockerは、マルチステージの構造をサポートし、画像サイズと展開速度を最適化します。 4)Dockerを使用すると、開発と展開プロセスを簡素化し、効率を改善し、環境全体の一貫性を確保できます。

実際のプロジェクトのDockerのアプリケーションシナリオには、展開の簡素化、マルチコンテナーアプリケーションの管理、パフォーマンスの最適化が含まれます。 1.Dockerは、dockerfileを使用してnode.jsアプリケーションを展開するなど、アプリケーションの展開を簡素化します。 2。DockerComposeは、マイクロサービスアーキテクチャのWebやデータベースサービスなどのマルチコンテナーアプリケーションを管理しています。 3.パフォーマンス最適化は、マルチステージ構造を使用して画像サイズを縮小し、健康チェックを通じてコンテナのステータスを監視します。

小さなプロジェクトまたは開発環境でDockerを選択し、大規模なプロジェクトまたは生産環境でKubernetesを選択します。 1.ドッカーは、迅速な反復とテストに適しています。2。Kubernetesは、大規模なアプリケーションの管理と拡張に適した強力なコンテナオーケストレーション機能を提供します。

Linuxは、豊富なツールとコミュニティサポートを提供するネイティブプラットフォームであるため、LinuxでDockerが重要です。 1. docker:sudoapt-getupdateとsudoapt-getinstalldocker-cedocker-ce-clicotainerd.ioを使用します。 2。コンテナの作成と管理:Dockerrun-D-Namemynginx-P80:80NginxなどのDockerrunコマンドを使用します。 3。DockerFileを書き込み:画像サイズを最適化し、マルチステージ構造を使用します。 4。最適化とデバッグ:DockerLogsとDockerexを使用します

Dockerはコンテナ化ツールであり、Kubernetesはコンテナオーケストレーションツールです。 1. Dockerパッケージアプリケーションとその依存関係は、Docker対応環境で実行できるコンテナに依存します。 2。Kubernetesはこれらのコンテナを管理し、自動展開、スケーリング、管理を実装し、アプリケーションを効率的に実行します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1
使いやすく無料のコードエディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ホットトピック









