特定の Docker Compose サービス ログの表示

Marion Paul Kenneth Mendoza 2023年6月20日
特定の Docker Compose サービス ログの表示

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 Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

関連記事 - Docker Compose