特定の Docker Compose サービス ログの表示
Marion Paul Kenneth Mendoza
2023年6月20日
docker-compose up
を使用すると、YAML ファイル内のすべてのコンテナーのログを確認できます。 ただし、特定のコンテナー サービスを指定すると、ログにサービスの依存関係が出力されません。 したがって、この記事では、Docker Compose サービス ログを正しくエクスポートおよび出力する方法について説明します。
特定の Docker Compose サービス ログの表示
デタッチ モードで Docker Compose を起動し、後ですべてのコンテナーのログにアタッチできます。 その後、ログ トレイルの監視が終了したら、サービスをシャットダウンせずにログ出力から切り離すことができます。
これを行うには、次の手順に従います。
-
docker-compose up -d
を使用して、-d
オプションを使用してすべてのサービスを分離モードで開始します。 -
docker-compose logs -t -f
を使用して、実行中のすべてのサービスのログに自分自身を添付します。-t
オプションはタイムスタンプを提供しますが、-f
パラメータは、サービスの実行中にログ出力を追跡することを意味します。 -
Ctrl+Z または Ctrl+C を使用して、実行中のコンテナーをシャットダウンせずにログ出力から切り離します。
-
単一のコンテナーのログを指定する必要がある場合は、次のコマンドを使用できます。
docker-compose logs -t -f <service name>
-
出力をファイルに保存するには、
>>
演算子を使用してstdout
し、コマンドの最後に追加します。docker-compose logs -t -f >> sample.log
Docker Compose V2 を使用する
Docker Compose バージョン 2 以降、ダッシュ (-
) なしで docker-compose
を使用できるようになりました。 ほとんどの docker-compose
コマンドを使用することもできます。これはダッシュなしでも同様に呼び出すことができます。
docker compose logs -t -f --tail 3 sample-service test-service >> sample.log
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn