4.1 コマンドdocker logs
の基本
docker logs
コマンドは、コンテナの監視とデバッグに便利なツールだよ。これを使えば、開発者やシステム管理者がコンテナのログを確認して、問題診断やアプリの動作解析を助けてくれる。この講義では、docker logs
コマンドの使用方法、利用可能なパラメータ、ログを効率的に管理する方法を詳しく説明するね。
docker logs
コマンドは、指定されたコンテナのログを出力するんだ。このログには、コンテナ内のプロセスが標準出力(stdout)
やエラー出力(stderr)
に記録したすべてのメッセージが含まれるよ。
構文
docker logs [OPTIONS] CONTAINER
どこで:
-
CONTAINER
: ログを確認したいコンテナの名前やID。 -
OPTIONS
: ログ出力をカスタマイズするための追加オプション。
基本的な使用例
このコマンドは、コンテナmy_container
のすべての蓄積されたログを出力するよ。
docker logs my_container
4.2 docker logs コマンドのパラメータ
docker logs
コマンドはいくつかのオプションをサポートしていて、必要に応じてログの出力をカスタマイズすることができるよ。
1. リアルタイムでログを表示する
リアルタイムでログを表示するには、-f (follow)
オプションを使うよ。このオプションを使うと、tail -f
コマンドのようにログ更新を追跡できるんだ。
docker logs -f my_container
2. 出力する行数を制限する
docker logs
コマンドで出力する行数を制限するには、--tail
オプションを使うよ。これを使うと、ログの全部じゃなくて最新のログだけ見たい時に便利だね。
docker logs --tail 100 my_container
この例では、コンテナ my_container
の最新の100行だけが出力されるよ。
3. 特定の時間からのログを出力する
--since
オプションを使うと、指定した時間からのログを出力できるんだ。時間はタイムスタンプ形式(例: 2023-07-20T15:00:00)や相対的な形式(例: 1h は直近1時間のログ)で指定できるよ。
docker logs --since "2023-07-20T15:00:00" my_container
または
docker logs --since 1h my_container
4. 特定の時間までのログを出力する
--until
オプションを使うと、指定した時間までのログを出力できるよ。時間の形式は --since
オプションと同じだよ。
docker logs --until "2023-07-20T16:00:00" my_container
または
docker logs --until 10m my_container
5. stdout
と stderr
を統合する
デフォルトでは、docker logs
コマンドは標準出力 (stdout)
と標準エラー出力 (stderr)
の両方を出力するんだ。どちらのストリームを出力するか指定したい場合は、--stdout
と --stderr
オプションを使ってみて。
docker logs --stdout my_container
この例では標準出力ストリームのメッセージだけが出力されるよ。
4.3 使用例
例 1: 最新のログ行を表示し、更新をリアルタイムで追跡する
この例では、コンテナ my_container
の最新50行を表示し、新しいエントリをリアルタイムで追跡します。
docker logs -f --tail 50 my_container
例 2: 過去24時間のログを表示する
この例では、コンテナ my_container
に対する過去24時間以内のすべてのログを表示します。
docker logs --since 24h my_container
例 3: 特定の時間範囲のログを表示する
この例では、2023年7月20日の15:00から16:00の間に記録されたログを、コンテナ my_container
に対して表示します。
docker logs --since "2023-07-20T15:00:00" --until "2023-07-20T16:00:00" my_container
4.4 実際のシナリオ
1. アプリケーションのデバッグ
アプリケーションが正しく動作しない、または「クラッシュ」する場合、ログを見ることで問題を診断できるよ。docker logs
コマンドを使ってエラーや警告をログ内で探そう。
docker logs my_app_container
2. サーバー稼働の監視
サーバーの稼働状況をリアルタイムで監視したい場合は、docker logs
コマンドと-f
オプションを使ってみて。
docker logs -f web_server_container
これでサーバーのリクエストやレスポンスをリアルタイムで追跡できるよ。
3. パフォーマンスの分析
特定の期間のアプリケーションのパフォーマンスを分析したいなら、--since
と--until
パラメータを使おう。
docker logs --since "2023-07-20T00:00:00" --until "2023-07-20T23:59:59" my_app_container
GO TO FULL VERSION